Phonegap iOS 5.1和本地存储
我曾使用localstorage在我的应用程序中保存一个值,该值与PhoneGap兼容,但当苹果发布新的iOS 5.1时,我的应用程序现在无法保存该值 有人知道如何解决这个问题吗 非常感谢 编辑:我将我使用的代码放入:Phonegap iOS 5.1和本地存储,ios,cordova,release,local-storage,Ios,Cordova,Release,Local Storage,我曾使用localstorage在我的应用程序中保存一个值,该值与PhoneGap兼容,但当苹果发布新的iOS 5.1时,我的应用程序现在无法保存该值 有人知道如何解决这个问题吗 非常感谢 编辑:我将我使用的代码放入: window.localStorage.setItem(“login”,$(“#login”).val() 我用它来保存值,我用它来读取值: function onDeviceReady() { var login = window.localStorage.getIte
window.localStorage.setItem(“login”,$(“#login”).val()代码>
我用它来保存值,我用它来读取值:
function onDeviceReady() {
var login = window.localStorage.getItem("login");
if (login != null) {
$('#login').val(login);
}
}
但是当我关闭应用程序时,这些值不会被保存。phonegap组中有一个大线程讨论了这个问题。基本上,这是因为他们现在将localStorage视为一个临时项,可以随时删除。不要害怕有非常聪明的人在工作
这是线索-
下面是代码-在iOS 5中,本地存储在默认情况下由苹果持久化。
在iOS 5.1中,localstorage是一个临时文件夹,可以在存储受到限制时被操作系统删除。
在iOS 6中,localstorage是一个可选的持久文件夹,设置中有一个标志
Phonegap 2.0以iOS 5.1为目标,并提供了一种插件机制来提供持久性,即使iOS没有
在iOS 6和phonegap 2.1中,仅当iOS版本为5.1时才尝试使用插件,并返回到iOS本机机制以持久保存文件夹
但是,在iOS 6上,此修复程序有一个bug,在第一次删除localstorage文件夹时,数据存储为:
bug报告也有补丁;然而,它还没有计划成为任何PhoneGap发布版本的一部分;因此,您必须手动应用修补程序。因此,即使用户使用的是iOS 5.1,在最新版本的PhoneGap中也可以使用此修补程序吗?LocalStorage现在将与修补程序一起保留?@ScottC是。该补丁已添加到3.0中,因此您不需要再做太多工作。