如果我在PhoneGap中创建一个使用localStorage存储键/值数据的应用程序,这些数据是否会通过iCloud同步到其他设备?我不需要保存太多数据。
答案 0 :(得分:20)
我不同意@sciritai。
iOS中的 localStorage
只是一个存储在设备某处的SQLite数据库文件。
在以前的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文件中的冲突。
答案 1 :(得分:6)
我和@ asgeo1在这个问题上就此问题。我刚刚提交的一个phonegap应用程序被Apple拒绝了,因为它大量使用了临时文件的本地存储空间,而这些文件正在icloud中输入备份。
修复是将它添加到config.xml:
<preference name="BackupWebStorage" value="none" />
答案 2 :(得分:4)
就像asgeo1所说的那样,localstorage会保存到iCloud。您可以通过在config.xml中将BackupWebStorage设置为none来关闭此功能。 Here是Phonegap文档的链接。
请注意,只有用户数据可以存储到iCloud。离线所需的数据可能不会存储在iCloud中。 Here是Apple的Q&amp; A。
的链接答案 3 :(得分:-2)
不,localStorage是基于浏览器的,并且可以通过PhoneGap让你玩的UIWebView继续存在,它不依赖于应用程序。
您可以编写一个插件来访问文档目录,以便通过Phonegap将信息保存到iCloud。
这里有错误的信息。请参阅下面的@ asgeo1的答案。