我正在使用CloudKit Public
数据库在设备之间同步数据。我正在同步带有本地持久性选项(Realm)的CKRecord
。我 不是 使用NSPersistentCloudKitContainer
。
由于我正在使用Public
数据库,因此(据我了解)意味着:
Private
数据库中起作用。CKQuerySubscription
,并收到CKRecord
更改的通知。我遇到的问题是,当我的应用程序错过了CloudKit的后台通知时,知道如何进行CKRecord
更改。
想象一下,用户an上飞机airplane而笔记本电脑关闭了一段时间??。如果在此期间有人更改了记录,则飞机上的用户将错过通知,现在在他们的设备上拥有该记录的陈旧版本。
我该如何调和?
我唯一想到的是:
Public
从CKQueryOperation
数据库中获取 所有 记录。CKRecord
与设备上的本地数据进行比较。是否有更好的方法通过CloudKit完成此操作?