【发布时间】:2019-11-08 03:47:55
【问题描述】:
Apple 在 iOS 13 中引入了NSPersistentCloudKitContainer,这使我们能够将 CloudKit 与 Core Data 一起使用。我几乎可以立即在不同的设备上运行它,但我的主要问题仍然存在。
是否可以轻松地与其他用户共享数据?
我一直在阅读CKShare,但不知道如何以简单的方式从NSPersistentCloudKitContainer 转到那里。
【问题讨论】:
-
我不相信您可以 - 如果您直接使用 CloudKit,那么您可以选择在公共数据库中创建记录(然后您的应用程序的所有用户都可以访问这些记录),或者您可以选择使用
CKShare共享私有数据库中的特定记录 - 当您使用NSPersistentCloudKitContainer时,CloudKit 实现对您隐藏,因此您无法创建所需的CKShare -
@Paulw11 你应该把它写成这个问题的答案,因为我相信你说的是正确的。 :)
-
你找到答案了吗?看来我们可以轻松地将 CKShare 添加到镜像区域中的镜像记录中,但问题仍然是当它出现在另一侧的共享数据库中时如何将其同步回来。
-
我可以检索 CKRecord 并创建一个 CKShare(请参阅我对橙色答案的评论)。不幸的是,这行不通,因为此共享永远不会出现在共享数据库区域中......也许下一个 WWDC 会帮助我们或为我们带来答案
标签: ios core-data cloudkit ckshare nspersistentcloudkitcontainer