You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Dewang Shah (JIRA)" <ji...@apache.org> on 2012/09/25 16:28:09 UTC

[jira] [Commented] (CB-330) localStorage / SQLDatabase no longer persistent after iOS 5.01 Update

    [ https://issues.apache.org/jira/browse/CB-330?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13462777#comment-13462777 ] 

Dewang Shah commented on CB-330:
--------------------------------

This issue seems to have returned after iOS 6. Looking at the code in CDVLocalStorage, there is a check for the version to be < 6.0

 NSString* original = [[appLibraryFolder stringByAppendingPathComponent           :
            (IsAtLeastiOSVersion(@"5.1") && !IsAtLeastiOSVersion(@"6.0")) ? @"Caches":@"WebKit/LocalStorage"]
        stringByAppendingPathComponent:@"file__0.localstorage"];


As a result data for a new app on iOS 6 is now lost when the app is closed and then restarted. Strangely enough the data is only lost on the first run. From the second run onwards data is persisted.
                
> localStorage / SQLDatabase no longer persistent after iOS 5.01 Update
> ---------------------------------------------------------------------
>
>                 Key: CB-330
>                 URL: https://issues.apache.org/jira/browse/CB-330
>             Project: Apache Cordova
>          Issue Type: Bug
>          Components: iOS
>    Affects Versions: 1.3.0, 1.4.0, 1.5.0
>         Environment: iOS 5.01
> PhoneGap (Any version)
> Xcode 4
> Build.PhoneGap
>            Reporter: Amirudin Bin Mohamed Ghani
>            Assignee: Shazron Abdullah
>            Priority: Blocker
>              Labels: ios5.01, localstorage, sqldatabase, websql
>             Fix For: 1.6.0
>
>         Attachments: CDVLocalStorageDiagnostics.zip, CDVLocalStoragePlugin.zip, Directory-Structure-CB-330.zip, iOS WebKit Database Locations.txt, LocalStorageTest.zip, README.txt
>
>
> Dear Dev
> WebKit data (localstorage or local SQLite) are now stored in Library/ Caches folder (instead of Library/WebKit folder). This is a big problem for all apps using UIWebView and storing user data, because they will no longer be backed up and may be deleted. There are a lot of apps using localstorage or SQLite as a critical feature. 
> The SQLite database gets deleted because the database is saved in a location on the filesystem which Apple does not consider to contain persistent data.
> *Steps to Reproduce:* 
> In a UIWebView, create a new DB or use localStorage with JavaScript. 
> You can see that the WebKit data is now stored in Library/Caches :  
> *Expected Results:*
> We should at least specify the directory of WebKit data (and to set it 
> to Documents/ for critical data) 
> *Actual Results:* 
> The WebKit data are stored in Library/Caches folder, and can be 
> deleted 
> *Regression:*
> To migrate database location from Library/Caches to some other location such as Documents.
> ----
> Ref: http://developer.apple.com/icloud/documentation/data-storage/
> https://devforums.apple.com/thread/137882?start=0&tstart=0

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira