在phonegap IOS上重新启动应用程序后,Localstorage已清除?

Man*_*ann 7 ios cordova

我试图在localstorage中缓存JSON数据,以便在没有互联网连接时加载它.它工作正常,但当我重新启动应用程序时,我认为本地存储已清除

这是我的代码:

document.addEventListener("deviceready", onDeviceReady, false);
function onDeviceReady() {

    document.addEventListener("offline", function() {
    alert("No internet connection");


    $.each(JSON.parse(localStorage.getItem('foo')), function(key, val) {
    if(!(val.php)){val.php=0;}
$('ul.get-mertchant').append('<li> <a href="azkadenya.html?id=' + val.nid + '&nop='+ val.php +'" class="li-link"><div class="circle-img"><img src="'+ val.logo + '" /></div><div class="merchant-info"><h1>'+ val.node_title +'</h1><p>You Have '+ val.php +' Binggz</p></div><div class="more-icon"></div></a> </li>');
}); 

}, false);
    $.getJSON('mywebsite/views/services_merchant_mobile', function(data) {
        localStorage.setItem('foo', JSON.stringify(data));

var items = [];
$.each(JSON.parse(localStorage.getItem('foo')), function(key, val) {
    if(!(val.php)){val.php=0;}
$('ul.get-mertchant').append('<li> <a href="azkadenya.html?id=' + val.nid + '&nop='+ val.php +'" class="li-link"><div class="circle-img"><img src="'+ val.logo + '" /></div><div class="merchant-info"><h1>'+ val.node_title +'</h1><p>You Have '+ val.php +' Binggz</p></div><div class="more-icon"></div></a> </li>');
});

})
}
Run Code Online (Sandbox Code Playgroud)

怎么了??

Rya*_*nOC 15

从IOS 5.1开始Apple决定将本地存储作为临时区域.如果您需要iOS 5.1上的持久存储,请使用PhoneGap的File API.以下是一些了解该问题的链接.

http://community.phonegap.com/nitobi/topics/phonegapbuild_localstorage_on_ios_5_1

http://docs.phonegap.com/en/2.6.0/cordova_storage_storage.md.html#Storage

Apple也会帮助您使用本地存储. iOS PhoneGap应用程序因使用localStorage而被拒绝

  • 第一个链接(localstorage_on_ios_5_1上的社区帖子)的后续行动表示该问题已在PhoneGap 1.6中得到解决.链接的cordova_storage文档未提供localStorage不持久的指示."应用程序被拒绝"链接是关于备份到iCloud的应用程序数据的(错位)问题,而不是在应用程序重新启动时持久存在的问题.我还有一些问题是"localStorage是保存在'缓存'位置还是'数据'位置"和"iOS什么时候从缓存中移除东西",但我没有看到localStorage通常在应用重启时丢失的证据. (3认同)