如何从CloudKit更新所有客户端记录?

时间:2014-12-30 10:35:31

标签: ios cloudkit cksubscription

我的应用程序在本地存储CloudKit存储的所有记录。所以它不是大数据小手机的概念,而是所有数据服务器 - 所有数据客户端的概念。当app再次启动时,我不时需要所有更新。

我应该为所有现有记录类型CKSubscription进行设置吗?

  • 可能会收到来自服务器的大量通知,即使我认为存在“无声模式”,iCloud通知收集的存储容量应该有限制。

我应该在应用启动时删除所有本地记录,然后从CloudKit再次下载以获取更新吗?

  • 每次都需要更新太多数据。

1 个答案:

答案 0 :(得分:3)

CloudKit为此提供了CKFetchRecordChangesOperation。您可以请求自上次更新以来区域内的所有更改。然后,您可以将该数据与应用内的存储同步。

如果您确实使用订阅,那么如果在短时间内发送了多个通知,那么您的应用程序将无法获得所有通知。 Apple将限制这一点。这就是为什么在处理收到的订阅通知后,您还应该在收到通知后执行CKFetchNotificationChangesOperation。