我使用本地存储在我的应用程序中保存一个值,这适用于PhoneGap,但当苹果发布新的iOS 5.1时,我的应用程序现在不保存该值。
有人知道如何解决这个问题吗?
非常感谢!
编辑:我把我正在使用的代码:
window.localStorage.setItem("login", $('#login').val());
我用它来保存值,并用它来读取值:
function onDeviceReady() {
var login = window.localStorage.getItem("login");
if (login != null) {
$('#login').val(login);
}
}
但是当我关闭应用程序时,这些值不会被保存。
发布于 2012-03-13 22:34:00
在phonegap组中有一个很大的帖子讨论了这个问题。基本上,这是因为他们现在将localStorage视为可以随时删除的临时项目。永远不要害怕有非常聪明的人在工作!
这是线程- https://groups.google.com/forum/?fromgroups#!topic/phonegap/RJC2qA9sDnw
下面是代码- http://pastebin.com/5881768B
发布于 2012-10-18 16:53:41
在iOS 5中,本地存储被苹果默认设置为持久化。在iOS 5.1中,本地存储是一个临时文件夹,只要存储空间受到限制,操作系统就可以将其删除。在iOS 6中,本地存储是一个可选的永久文件夹,并在设置中设置了一个标志。
PhoneGap2.0以iOS 5.1为目标,并提供了一个插件机制来提供持久性,尽管iOS没有。
对于PhoneGap6和PhoneGap2.1,只有当iOS版本是5.1时,才会尝试使用该插件,并回退到iOS本机机制来持久保存文件夹。
但是,此修复存在一个错误,在iOS 6上,第一次删除本地存储文件夹时,会存储数据:https://issues.apache.org/jira/browse/CB-1535错误报告也包含此修补程序;但是,尚未计划将其作为任何PhoneGap发行版本的一部分;因此,您必须手动应用此修补程序。
https://stackoverflow.com/questions/9664392
复制相似问题