You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@cordova.apache.org by "Christian Hemker (JIRA)" <ji...@apache.org> on 2012/09/26 16:27:09 UTC
[jira] [Comment Edited] (CB-1535) LocalStorage is not saved after
first App launch on iOS 6
[ https://issues.apache.org/jira/browse/CB-1535?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13463850#comment-13463850 ]
Christian Hemker edited comment on CB-1535 at 9/27/12 1:25 AM:
---------------------------------------------------------------
To get it working correct for iOS 6
I moved also the call to restore from Backup Locations before instantiate UIWebView
{code:title=CDVViewController.m Line 201-205}
if (IsAtLeastiOSVersion(@"6.0")) {
[CDVLocalStorage __restoreThenRemoveBackupLocations];
[[NSUserDefaults standardUserDefaults] setBool:backupWebStorage forKey:@"WebKitStoreWebDataForBackup"];
}
// // Instantiate the WebView ///////////////
[self createGapView];
{code}
And changed the following if statement
{code:title=CDVViewController.m Line 232}
if (!IsAtLeastiOSVersion(@"6.0")) {
if (backupWebStorage) {
[self.commandDelegate registerPlugin:[[CDVLocalStorage alloc] initWithWebView:self.webView] withClassName:NSStringFromClass([CDVLocalStorage class])];
} else {
[CDVLocalStorage __restoreThenRemoveBackupLocations];
}
}
{code}
was (Author: chemm):
To get it working correct for iOS 6
I moved also the call to restore from Backup Locations before instantiate UIWebView
{code:title CDVViewController.m Line 201-205}
if (IsAtLeastiOSVersion(@"6.0")) {
[CDVLocalStorage __restoreThenRemoveBackupLocations];
[[NSUserDefaults standardUserDefaults] setBool:backupWebStorage forKey:@"WebKitStoreWebDataForBackup"];
}
// // Instantiate the WebView ///////////////
[self createGapView];
{code}
And changed the following if statement
{code:title CDVViewController.m Line 232}
if (!IsAtLeastiOSVersion(@"6.0")) {
if (backupWebStorage) {
[self.commandDelegate registerPlugin:[[CDVLocalStorage alloc] initWithWebView:self.webView] withClassName:NSStringFromClass([CDVLocalStorage class])];
} else {
[CDVLocalStorage __restoreThenRemoveBackupLocations];
}
}
{code}
> LocalStorage is not saved after first App launch on iOS 6
> ---------------------------------------------------------
>
> Key: CB-1535
> URL: https://issues.apache.org/jira/browse/CB-1535
> Project: Apache Cordova
> Issue Type: Bug
> Components: iOS
> Affects Versions: 2.1.0
> Environment: iOS 6.0 - iOS Simulator
> iOS 6.0 - iPad 2
> Reporter: Christian Hemker
> Assignee: Michal Mocny
> Attachments: index.html
>
>
> 1. Save a value in window.localStorage after a fresh install of the App in Simulator or iOS Device.
> 2. Stop the App while running in Background.
> 3. Restart the App and Restoring the value from window.localStorage is not possible (Error)
> 4. Save a new value in window.localStorage
> 5. Stop the App while running in Background.
> 6. Restart the App and now you can restore the value (Everything runs fine from now on)
> To reproduce create a sample project with the "create" script.
> Put this Javascript into index.html or use the attached index.html.
> The Parameter BackupWebStorage is not changed.
> BackupWebStorage=YES
> {code}
> <script type="text/javascript">
> document.addEventListener("deviceready", onDeviceReadyToSave, false);
>
> function onDeviceReadyToSave() {
>
> var item = window.localStorage.getItem("key");
> var message = "deviceready localStorage.getItem('key')="+item+" localStorage.length="+window.localStorage.length;
>
> console.log( message);
> alert(message);
>
> if( item == null){
> console.log("localStorage.getItem('key') is '"+item+"'");
> item = "";
> }
> item = item + "value";
>
> window.localStorage.setItem("key", item);
> console.log("calling localStorage.setItem('key', '"+item+"')");
>
> var value = window.localStorage.getItem("key");
> console.log("verified localStorage.getItem('key')="+value);
> }
> </script>
> {code}
--
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