【问题标题】:Persistent data with Cordova on iOS在 iOS 上使用 Cordova 的持久数据
【发布时间】:2018-02-09 22:11:20
【问题描述】:

我正在为我的游戏开发一个排行榜(用 JS 编写),我需要在本地存储更多 .html 和 .js 页面之间的一些用户信息,就像登录用户名和 bestscore 一样。

我使用 localStorage 完成了它,在桌面浏览器上它完全没有问题,对于使用 Cordova 包装的 Android 应用程序也是如此。然而,在 iOS 中对其进行测试导致 localStorage 在每次应用重启时都被清除了!谷歌搜索后,我决定切换到 localForage。同样,Android 和桌面(Mac 上的 Chrome)工作得很好,但在 iOS 上,当应用程序从多任务处理中关闭时,数据会被清除。我尝试将 WEBSQL 和 INDEXEDDB 作为 localForage 驱动程序。我在两部不同的 iPhone(iOS 10.3.2 和 iOS 10.3.3)上进行了测试,两者都没有耗尽内存。我使用 CocoonJS 来包装文件。请问有什么帮助吗?完全不知道这个问题来自哪里。提前谢谢你。

【问题讨论】:

标签: javascript ios cordova local-storage localforage


【解决方案1】:

关于 ios 上的 LocalStorage

iOS 将 localStorage 数据存储在操作系统可能会在需要空间时清除的位置。

您可以尝试基于插件的sql-lite 或类似的东西。

【讨论】:

  • 我 99% 确定我使用的 iPhone 不需要空间,它们并没有内存不足......至于 sql-lite,@Phil 提出的相同解决方案......但从什么我读过here,我怀疑是否支持CocoonJS……你知道更多吗?
  • CocoonJSPhoneGap 的竞争对手,必须有更好的性能,因为PhoneGap 使用原生web 视图,CocoonJS 集成了它的web 视图
  • 它们是基于cordova的,但有自己的插件集。
  • 在我使用过一次 PhoneGap + framework7 之后,我正在使用cordova + vuejs。
  • 所以我一定会尝试并希望最好的。但疑问仍然存在:为什么 localStorage/Forage 不能在 iOS 上运行?天知道..
猜你喜欢
  • 2016-09-12
  • 1970-01-01
  • 1970-01-01
  • 2021-04-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多