我的应用程序在本地存储CloudKit
存储的所有记录。因此,它不是大数据小型电话的概念,而是所有数据服务器-所有数据客户端的概念。当应用再次启动时,我会不时需要所有更新。
我应该为所有现有记录类型CKSubscription
设置吗?
我应该在应用启动时删除所有本地记录,然后再次从CloudKit
下载以获取更新吗?
CloudKit为此具有CKFetchRecordChangesOperation
。您可以请求自上一次更新以来区域内的所有更改。然后,您可以将该数据与应用程序内部的存储进行同步。
如果您确实使用订阅,那么如果在短时间内发送多个通知,则很可能会导致您的应用无法收到所有通知。苹果将限制这一点。这就是为什么在处理收到的订阅通知后,还应该在收到通知后执行CKFetchNotificationChangesOperation
。