Core data Cordova/Phonegap应用程序中的HTML5本地存储能否同步到iCloud?
我有一个在iOS上运行的Phonegap/Cordova应用程序。它将数据保存到HTML5本地存储中 我正在尝试确定是否可以将本地存储数据(使用iCloud)同步到其他iOS设备,甚至是OSX 据我所见,在iOS中,localStorage实际上是作为SQLite数据库实现的,它(在使用Phonegap/Cordova时)被写入应用程序的Documents目录: 文档/备份/localstorage.appdata.db 我还了解到,在iCloud中存储数据有三种主要方式:Core data Cordova/Phonegap应用程序中的HTML5本地存储能否同步到iCloud?,core-data,cordova,local-storage,icloud,Core Data,Cordova,Local Storage,Icloud,我有一个在iOS上运行的Phonegap/Cordova应用程序。它将数据保存到HTML5本地存储中 我正在尝试确定是否可以将本地存储数据(使用iCloud)同步到其他iOS设备,甚至是OSX 据我所见,在iOS中,localStorage实际上是作为SQLite数据库实现的,它(在使用Phonegap/Cordova时)被写入应用程序的Documents目录: 文档/备份/localstorage.appdata.db 我还了解到,在iCloud中存储数据有三种主要方式: 键/值存储 UID
- 键/值存储
- UIDocument/NSDocument
- 核心数据
有没有其他方法可以在iOS设备或OS X之间同步localStorage数据?不幸的是,答案似乎是否定的,核心数据不能与HTML5 localStorage一起使用 除使用核心数据创建的数据库外,核心数据不能与SQLite数据库一起使用。如果尝试,则在XCode中会出现以下错误:
SQLite error code:1, 'no such table: Z_METADATA'
核心数据文档对此进行了解释:
尽管核心数据支持SQLite作为其持久存储之一
类型,则数据库格式为私有。不能创建SQLite
使用原生SQLite API的数据库,并将其直接用于核心数据
(您也不应该使用
原生SQLite API)
不过我还是想解决这个问题。我正在考虑创建一个Javascript API来镜像localStorage API。这将是一个phonegap插件,可以调用objective-c代码,并有效地将其更改写入核心数据数据库。然后核心数据数据库应该能够同步到iCloud
如果有效,我会回来更新这个答案