首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >多个进程写入的NSPersistentCloudKitContainer

多个进程写入的NSPersistentCloudKitContainer
EN

Stack Overflow用户
提问于 2020-06-08 22:18:10
回答 1查看 106关注 0票数 2

我有一个应用程序使用iCloud和核心数据通过NSPersistentCloudKitContainer。容器和相关代码都在一个共享框架中,大多数东西都运行得很好。除了应用本身,我还有一个分享扩展和一个意图扩展。

我遇到的问题是,如果其中一个扩展在应用程序处于活动状态时写入数据库。NSPersistentCloudKitContainer似乎在这两个过程中都发挥了一些魔力,当它发现魔术已经完成时,它无法更新某些数据。例如,我在两个托管对象之间有一对一的关系(这需要与cloudkit支持的模型相反)。关系的一方变为有效,而另一方为零。

我在控制台中收到错误消息,说CloudKit+CoreData无法合并数据库和容器缓存之间的差异。我非常确定这是NSPersistentCloudKitContainer中的一个疏忽,其中没有考虑到这种特定的场景(共享框架,多个开放进程)。

有没有人幸运地使用了NSPersistentCloudKitContainer并保存了来自扩展的关系数据?

EN

回答 1

Stack Overflow用户

发布于 2021-04-24 22:26:33

假设您的SQLite商店文件位于应用程序组container...have中,您是否只尝试在应用程序中使用NSPersistentCloudKitContainer,并在扩展中使用常规NSPersistentContainer?你可以将一个参数传递给你的共享框架类init。您可能需要像云容器一样打开持久跟踪和远程通知,这样当应用程序启动时,CoreData框架可以找到历史记录中的更改,然后将它们导出到CloudKit进行镜像。

这里的基本问题是,如果有两个完整的应用程序(不是app+extension),那么这两个应用程序可以同时使用NSPersistentCloudKitContainer和App Group容器中的一个商店吗?例如,在macOS上或在iPadOS上拆分屏幕。它是否被设计为一次只能从一个应用程序同步?我会看看我是否能弄清楚并更新我的答案。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62264170

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档