我有一个使用 iCloud 和 Core Data 的应用程序NSPersistentCloudKitContainer
。容器和相关代码在一个共享框架中,大多数东西都运行良好。除了应用程序本身,我还有一个共享扩展和一个意图扩展。
我遇到的问题是,如果其中一个扩展在应用程序处于活动状态时写入数据库。NSPersistentCloudKitContainer
似乎在这两个过程中都做了一些魔术,当它发现魔术已经完成时,它无法更新某些数据。例如,我在两个托管对象之间存在一对一的关系(需要与 cloudkit 支持的模型相反)。关系的一侧变为有效,而另一侧为零。
我在控制台中收到错误消息说 CloudKit+CoreData 无法合并数据库和容器缓存之间的差异。我很确定这是一个疏忽,NSPersistentCloudKitContainer
没有考虑到这个特定场景(共享框架、多个开放进程)。
有没有人幸运地使用NSPersistentCloudKitContainer
和保存来自扩展的关系的数据?