【发布时间】:2018-05-18 08:22:57
【问题描述】:
我的应用在 iPhone 上本地维护一个文件列表。启用 CloudKit 后,这些文件会自动同步到 CloudKit 数据库。
当应用程序被删除时,所有本地数据也被删除。我想看看是否可以触发 CloudKit 通知 CKNotification,特别是 CKQueryNotificationReasonRecordCreated,以便我的所有本地记录可以重新同步和重新下载。
我目前确实有一个函数可以监听 App 委托的 didReceiveRemoteNotification,然后下载相应的记录。但是,为此,我需要发布“虚假”更新,以便 CloudKit 发布通知,以便将其本地下载到另一台设备。
我不想为每条记录发布虚假更新,我想从 CloudKit 批量下载到本地设备。
谢谢。
【问题讨论】:
-
为什么不使用
CKQuery并使用给定的NSPredicate,您将能够从 CloudKit 数据库中获取所需的所有数据... -
我有一个功能,它在更新字段时更新 CloudKit,然后使用上述内容将更改推送到所有已注册的设备以进行同步。我希望利用那段代码,但正如你提到的,我只是使用 CKQuery 从表中提取所有信息。谢谢!
-
太棒了,将其写为其他人也可以看到的答案
标签: ios swift synchronization cloudkit