【问题标题】:Does PhoneGap localStorage save to iCloud?PhoneGap localStorage 是否保存到 iCloud?
【发布时间】:2011-12-10 10:13:44
【问题描述】:

如果我在 PhoneGap 中创建一个使用 localStorage 存储键/值数据的应用程序,这些数据会通过 iCloud 同步到其他设备吗?我不需要保存太多数据。

【问题讨论】:

  • 看起来 asgeo1 的答案是正确的,与 OP 接受的答案相矛盾。
  • 是的,另一个答案应该是被接受的

标签: javascript ios cordova icloud


【解决方案1】:

我不同意@sciritai。

localStorage 在 iOS 中只是一个存储在设备某处的 SQLite db 文件。

在之前的 Phonegap/Cordova 版本中,情况可能有所不同,但在当前版本中,Phonegap 会将 localStorage.db 文件写入您应用的 Documents 目录中。

具体:Documents/Backups/localstorage.appdata.db

由于每个应用程序的 Documents 目录都是特定的,它会自动保存到 iCloud。

当我检查 iOS 中的 iCloud 设置(Storage & Backup > Manage Storage 下)时,我可以确认这一点。

我可以看到我的 HTML5 iOS 应用程序正在备份到 iCloud。这包括本地存储中的数据:)

我相信这意味着如果您有多个设备,localStorage 将在它们之间同步 - 尽管我自己还没有确认。我不确定 iOS 会如何处理 localStorage 文件中的冲突。

【讨论】:

  • 如果应用程序被卸载或更新会发生什么 - 那么数据会丢失吗?
【解决方案2】:

不,localStorage 是基于浏览器的,并且通过 Phonegap 为您提供的 UIWebView 持续存在,它与应用程序无关。

您可以编写一个插件来访问文档目录,以使用 Phonegap 将信息保存到 iCloud。

这里是旧的错误信息。请参阅下面@asgeo1 的答案。

【讨论】:

    【解决方案3】:

    我和@asgeo1 一起讨论这个问题。我刚刚提交的一个 phonegap 应用被苹果拒绝了,因为它大量使用了本地存储的临时文件,并且这些文件被输入到 icloud 上的备份中。

    解决方法是将其添加到您的 config.xml:

    <preference name="BackupWebStorage" value="none" />
    

    【讨论】:

    • 根据cordova.apache.org/docs/en/latest/config_ref 的文档,默认值为cloud,允许的值为nonelocalcloud 设置为cloud 以允许Web 存储数据通过 iCloud 备份。设置为 local 以仅允许通过 iTunes 同步进行本地备份。设置为none 防止网络存储备份。
    【解决方案4】:

    就像 asgeo1 所说,localstorage 确实会保存到 iCloud。您可以通过在 config.xml 中将 BackupWebStorage 设置为 none 来关闭此功能。 Here 是 Phonegap 文档的链接。

    请注意,只有用户数据可以存储到 iCloud。离线所需的数据可能不会存储在 iCloud 中。 Here 是苹果问答的链接。

    【讨论】:

      猜你喜欢
      • 2012-02-01
      • 1970-01-01
      • 2015-03-11
      • 2013-04-15
      • 2023-03-11
      • 1970-01-01
      • 2012-03-25
      • 2017-09-18
      • 2014-01-27
      相关资源
      最近更新 更多