iOS 上的 CloudKit + CoreData 和 watchOS 同步不起作用
Posted
技术标签:
【中文标题】iOS 上的 CloudKit + CoreData 和 watchOS 同步不起作用【英文标题】:CloudKit + CoreData on iOS and watchOS sync not working 【发布时间】:2020-11-04 22:56:05 【问题描述】:我有一个想要使用相同数据模型的 ios + watchOS 应用。所以我创建了一个 CoreData 堆栈,并为NSPersistentCloudKitContainer
设置了所有内容。
我的 iOS 应用程序可以访问 CloudKit 容器,因为我可以从控制台中的日志中读取,但是当我的 watchOS 应用程序想要连接到 CloudKit 容器(与 iOS 应用程序相同的 iCloud.foo.myID
)时,我收到一条错误消息 @ 987654324@.
我尝试了几个新容器。我还一次又一次地尝试检查功能窗格上的所有复选框。
我错过了什么吗?
(我还阅读了Core data + CloudKit - sharing between iOS and watchOS companion app,但没有帮助)
【问题讨论】:
【参考方案1】:我有同样的问题。对我来说,解决方案是为两个应用程序共享 xcdatamodel(在我的情况下,它不是用于观看的独立应用程序,而是扩展程序)。 因此,只需选中为两个应用程序共享此模型的框:
还将类生成设置为 Cathegory/Extension 或 Manual,因为您需要为 iOS 和 WatchOS 实现一些不同的实体类。如果有人知道如何使用一个类并检查哪个操作系统调用了该实例,那将是完美的。
【讨论】:
我选择编写自己的类而不是代码生成,现在它可以工作了。谁能知道默认选项不起作用。谢谢苹果。谢谢 Ku6ep以上是关于iOS 上的 CloudKit + CoreData 和 watchOS 同步不起作用的主要内容,如果未能解决你的问题,请参考以下文章
我可以在非 iOS 设备上的 Cordova 应用程序中使用 Apple CloudKit JS 吗?