Phonegap的iOS 5.1和localStorage

我正在使用localstorage为我的应用程序保存一个值,与PhoneGap一起工作,但是当苹果发布新的iOS 5.1时,我的应用程序现在不保存该值。

有谁知道如何解决这个问题?

非常感谢你!!!

编辑:我把我使用的代码:

window.localStorage.setItem("login", $('#login').val());

我用它来保存价值,我用它来读取值:

 function onDeviceReady() { var login = window.localStorage.getItem("login"); if (login != null) { $('#login').val(login); } } 

但是,当我closures应用程序,值不会被保存。

谈到这个问题,phonegap小组中有一个大的线程。 基本上是因为他们现在把localStorage当作一个可以在任何时候删除的临时项目。 不要害怕工作中有非常聪明的人!

这是线程 – https://groups.google.com/forum/?fromgroups#!topic/phonegap/RJC2qA9sDnw

这里是代码 – http://pastebin.com/5881768B

在iOS 5中,Apple存储默认情况下localstorage是永久存储的。 在iOS 5.1中,local storage是一个临时文件夹,任何时候存储受到限制都可以被操作系统删除。 在iOS 6中,localstorage是在设置中带有标志的可选持久性文件夹。

Phonegap 2.0面向iOS 5.1,并提供了一个插件机制来提供持久性,即使iOS没有。

使用iOS 6和phonegap 2.1时,只有在iOS版本是5.1的情况下才会尝试使用该插件,并回退到iOS原生机制来保存该文件夹。

但是,在iOS 6上,这个修复程序存在一个错误,第一次删除localstorage文件夹,数据被存储: https ://issues.apache.org/jira/browse/CB-1535错误报告也有补丁; 但是,它还没有计划成为任何PhoneGap发行版本的一部分; 所以你将不得不手动应用补丁。