如果我在 PhoneGap 中制作一个使用 localStorage 存储键/值数据的应用程序,这些数据会通过 iCloud 同步到其他设备吗?我不需要保存太多数据。
4 回答
我不同意@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 中的数据:)
我相信这意味着如果你有多个设备,localStorage 将在它们之间同步——尽管我自己还没有确认。我不确定 iOS 将如何处理 localStorage 文件中的冲突。
我和@asgeo1 在这个上。我刚刚提交的一个 phonegap 应用程序被苹果拒绝了,因为它大量使用本地存储的临时文件,并且这些文件被输入到 icloud 上的备份中。
解决方法是将其添加到您的 config.xml 中:
<preference name="BackupWebStorage" value="none" />
不,localStorage 是基于浏览器的,并且通过 Phonegap 为您提供的 UIWebView 持续存在,它不依赖于应用程序。
您可以编写一个插件来访问文档目录,以使用 Phonegap 将信息保存到 iCloud。
旧的错误信息在这里。请参阅下面的@asgeo1 的答案。