我有一个使用Ionic(Cordova和Angular)构建的iOS应用程序。我的应用程序的第1版(已经发布一段时间)使用HTML5 localStorage存储一些数据。我已准备好发布第2版但更新应用程序(我通过xcode,itunes和testflight安装模拟)会擦除存储在localstorage中的所有数据。
似乎localstorage db存储在Library / Caches /中,如果有帮助的话。
有关我正在使用的信息:
Cordova 3.9.2和Ionic 1.1.1
在花了一整天搜索SO和其他各种网站后,我仍然没有更明智。
有没有办法防止这种情况发生?有兴趣听到任何人在发布的cordova应用程序上使用localStorage。
答案 0 :(得分:4)
正如您所提到的,localstorage存储在Library / Caches中。如果系统空间很小(File System Programming Guide),则该目录可能会被操作系统清除。
如果系统空间不足,则应用更新后数据应该可用。我们在应用程序中也使用localstorage,并且在设备空间不足时出现丢失数据的问题。
经过研究,我发现plugin特别针对这个问题。此插件使用NSUserDefaults(iOS)和SharedPreferences(Android)永久存储数据。这实际上是我解决这个问题的首选方法。
答案 1 :(得分:0)
我使用了Cordova SQL Lite插件,该插件会持久存储到此磁盘上的应用程序数据目录中。应用程序更新后,此数据仍然存在。这是你今天最好的选择,因为它在iOS和Android上运行良好。
答案 2 :(得分:0)
This plugin还使用NSUserDefaults(iOS)和SharedPreferences(Android)保存数据,以永久存储数据。