将 Sqlite 数据库与 iCloud 同步?

Posted

技术标签:

【中文标题】将 Sqlite 数据库与 iCloud 同步?【英文标题】:Sync Sqlite database with iCloud? 【发布时间】:2013-09-06 11:30:40 【问题描述】:

我有一个应用程序已经在应用商店,它使用 Sqlite 数据库。现在我想制作另一个版本,包括 iCloud 同步,现在,问题是,是否有任何教程或第三方代码将 sqlite 数据库与 iCloud 同步,因为我搜索了很多但没有得到任何可用的答案? 提前致谢。

【问题讨论】:

据我所知,与 iCloud 同步的独立 sqlite 非常不可靠。只有当核心数据与 sqlite db 一起使用时,Apple 才允许将 sqlite 数据与 iCloud 同步。 【参考方案1】:

SQLite 和 iCloud 不能很好地混合。尽管可以使用 iCloud 文件 API 将 SQLite 文件放入 iCloud,但这样做几乎肯定会损坏文件。 SQLite 在设计时并没有考虑到这种用途,在外部日志文件、未提交的事务等之间,甚至不是文件是否损坏的问题,只是何时(答案是“很快”)。

虽然 Core Data 可以同时使用 SQLite 文件和 iCloud,但它不会同步 SQLite 文件。相反,它有一个使用事务日志来回发送更改的方案。

如果您想通过 iCloud 使用现有数据,您可能需要做类似的事情。我不知道有什么好的参考实现。基本上,您需要将数据导出为其他格式,并从其他设备检测和导入更改。

【讨论】:

Apple 在今年和去年都为此举办了 WWDC 会议。这些视频可供注册开发人员使用。可能还有其他视频,但这些是我知道的。

以上是关于将 Sqlite 数据库与 iCloud 同步?的主要内容,如果未能解决你的问题,请参考以下文章

如何将 sqlite 数据库与 Core Data 同步?

在 iCloud 上备份文档目录而不同步

在应用升级期间避免 iCloud 同步上的重复数据

带有 iOS 和 iCloud 的 SQLITE 数据库

如何将 NSUserDefaults 数据与 iCloud 同步

根据要求将应用数据与 iCloud 同步