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