2

我正在开发一个 iOS 笔记应用程序,用户可以在其中添加图像、文本、音频和绘图笔记。我想在多个设备之间实现 iCloud 同步。在 3 个选项(键值、文档存储、CloudKit)中,我应该选择哪一个?我也想实现用户之间的笔记共享(协作)。我目前正在使用核心数据作为我的数据库。

4

2 回答 2

1

键值存储是不可能的,因为对于您的目标来说太有限了,仅当您需要将文档作为一个整体进行处理和存储时,才建议使用文档存储。由于您已经在使用本地存储,因此只有将其常规用于云存储和共享CoreData才有意义。CloudKit

CoreData和的同步CloudKit可能很困难。我个人正在使用RxCoreDataRxCloudKit库的组合,它们在同步和一些语法糖方面也提供了一些缓解。

关于唯一性约束的一个词:对于CoreData,您根据所有值的键或散列来定义它们,因为据我所知,键CloudKit是唯一可能的(也是必需的) 。CKRecord所以最好从一开始就照顾好它。

于 2018-11-21T14:16:09.443 回答
1

恕我直言,CloudKit 是唯一的意见:)

我有一个名为marknote. 一开始我使用 iCloud 文档存储。它有时工作,但不稳定。最糟糕的是,何时以及是否可以同步您的文档是您无法控制的,而是依赖于 Apple 的守护程序服务。当您的文档有点大时,例如几兆字节,情况会变得更糟。所以在奋斗了一段时间后,我换了CloudKit。正如@maxim-volgin 已经指出的那样,CloudKit 同步的实现很困难,但它是可靠的。切换到 CloudKit 后,所有的头痛都消失了。

于 2018-12-26T07:46:34.820 回答