0

我的 CoreData 与 iCloud 同步时遇到问题NSPersistentCloudKitContainer

同步有效,但是当我重新安装应用程序时,在应用程序启动和同步结束之间会有几秒钟的恼人延迟。我需要在启动时决定是创建新数据实体还是使用来自 iCloud 的“旧”数据。

如果有办法,我可以忍受延迟并等待同步完成

a) 在启动时确定 iCloud 中有要同步的数据,并且

b) 同步最终完成时收到通知

有谁知道实现这一目标的解决方案?设置 NSPersistentStoreRemoteChangeNotificationPostOptionKey并没有多大帮助,因为它在同步期间被触发了几次并且不提供任何状态信息。

4

1 回答 1

3

冒着为您提供最无益的答案的风险,我认为这是不可能的,即使是,我认为您正在与NSPersistentCloudKitContainer.

使用NSPersistentCloudKitContainer,您应该假设同步以不规则、不稳定的间隔发生或根本不发生。它应该在后台无缝运行,您无需担心。您不应该尝试在代码中推测它何时发生或是否发生。

这非常类似于在 iPhone 上拍照,然后该照片需要几秒钟才能出现在 iMac 上。iCloud 同步决定是否以及何时进行同步。

我知道这没有帮助,但我认为你应该注意这个观点。

于 2020-11-03T18:05:42.067 回答