这是适用于我的iOS笔记应用程序(带有文本,照片,音频和绘图笔记)的最佳iCloud方法。我应该选择文档存储还是CloudKit?

时间:2018-11-21 09:31:33

标签: ios iphone icloud cloudkit icloud-documents

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

2 个答案:

答案 0 :(得分:0)

键值存储毫无疑问,这是因为目标太有限了,仅在需要处理和存储整个文档时才建议使用文档存储。由于您已经使用CoreData进行本地存储,因此仅将常规CloudKit用于云存储和共享才有意义。

CoreDataCloudKit的同步可能很困难。我个人使用的是RxCoreDataRxCloudKit库的组合,它们在同步和语法语法上也有所缓解。

提前一句话,关于唯一性约束:对于CoreData,您可以基于所有值的键或哈希值来定义它们,对于CloudKit,仅可能(也需要)据我所知,CKRecord键。因此,最好从一开始就加以照顾。

答案 1 :(得分:0)

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

我有一个名为marknote的记事应用。最初,我使用iCloud文档存储。它有时起作用,但不稳定。最糟糕的是,何时以及是否可以同步文档不受您的控制,而是依靠Apple的守护程序服务。当您的文档过大(例如几兆字节)时,情况甚至更糟。 因此,经过一段时间的战斗,我更改为CloudKit。正如@ maxim-volgin已经指出的那样,CloudKit同步的实现很困难,但是很可靠。切换到CloudKit之后,所有的头痛都消失了。