通过 iCloud 同步 CouchBase Lite 数据

Posted

技术标签:

【中文标题】通过 iCloud 同步 CouchBase Lite 数据【英文标题】:Syncing CouchBase Lite data via iCloud 【发布时间】:2014-03-31 16:06:36 【问题描述】:

我正在考虑在我的 OS X 和 ios 应用程序中使用 CouchBase Lite 而不是 CoreData。但是,如果使用 Couch Base Lite,我需要确定是否可以通过 iCloud 在 OS X 和 iOS 应用程序之间同步数据。

CoreData 可以通过 iCloud 同步。我希望它可以为 CouchBase Lite 完成。

【问题讨论】:

【参考方案1】:

我不知道 CouchBase Lite 是如何将数据写出的,但您使用 iCloud 的选项是 Core Data、平面文件或 NSUbiquitousKeyValueStore。如果 CouchBase Lite 使用平面文件,它应该可以工作,只要您明确将其每个文件设置为由 iCloud 同步 并且 您可以解决任何冲突这些文件中可能出现的更改。通过 iCloud 同步文件将同步文件并通知您冲突,但解决它们取决于您。

这是否容易或困难取决于 CouchBase Lite 数据存储的细节。

【讨论】:

【参考方案2】:

如果您打算使用 CouchBase,您应该通过 CouchBase 服务器进行同步。同步是 CouchBase 的一项优势,不利用它是愚蠢的。

尝试通过 iCloud 使用 CouchBase 听起来很受伤。它不是为此目的而设计的。

如果您想坚持使用 iCloud,可以使用 Apple 的 Core Data 同步或第三方框架。 TICDS 和 Ensembles 都基于 Core Data,可以通过 iCloud 同步。 (披露:我对这两个项目都有贡献。)

【讨论】:

【参考方案3】:

Couchbase Lite 是为了与 Couchbase Server 同步兼容而设计的;但是,对于想要继续利用 iCloud 和设备之间的关系并因此需要 Core Data 的人们,我们确实有一个 Core Data 适配器,您可以将其用作迁移或与 Couchbase Lite 共生。此处提供了一些示例工作:https://github.com/couchbaselabs/cblite-coredata-sample-ios

您可以在此处看到适配器本身:https://github.com/couchbase/couchbase-lite-ios/tree/1.0-beta3/Source/API/Extras

杰西卡

【讨论】:

以上是关于通过 iCloud 同步 CouchBase Lite 数据的主要内容,如果未能解决你的问题,请参考以下文章

iCloud NSUserDefaults 未跨设备同步(通过 MKiCloudSync)

Passbook 和 iCloud - 同步时是不是会触发多个注册?

从 CouchDB 和 Couchbase-lite 同步和删除已删除的文档

何时最好执行 iCloud 同步

iCloud - 核心数据同步问题

如何阻止核心数据同步到 iCloud