CloudKit 在用户之间共享私有容器

Posted

技术标签:

【中文标题】CloudKit 在用户之间共享私有容器【英文标题】:CloudKit share private Container between users 【发布时间】:2015-07-10 20:56:28 【问题描述】:

我正计划开发一个应用程序,用于共享有关地理位置(坐标、注释、图片)的信息,一种寻宝游戏,我不明白是否可以使用 CloudKit 共享部分私人信息用户之间的容器。如果是,我该怎么做? 我需要创建类似于 Apple 在提醒应用程序中所做的事情,用户可以在其中“邀请”其他用户并有一个共同的列表在他们之间共享,每个人都可以插入或编辑内容。

最终,如果使用 CloudKit 无法做到这一点,我可以使用 Parse 做到这一点吗?

谢谢!

【问题讨论】:

【参考方案1】:

ios 10 / macOS 10.12 中,现在可以与其他用户共享用户私有数据库中的记录层次结构。

概述:[WWDC 2016] Session 226 - What's New with CloudKit

如果您想开始深入研究新文档,请查看:

CKShare

CKShareParticipant

CKFetchShareParticipantsOperation

CKFetchShareMetadataOperation

CKAcceptSharesOperation

还有this thread in the Apple Developer Forums,它提供了一些示例代码。

【讨论】:

谢谢伙计,太好了! 是否只能共享单个记录,或者我也可以与我的私有数据库中的许多表共享一个完整的区域?共享是否适用于拥有除我以外的其他 Apple ID 的人? 您可以共享 记录 以及与该根记录关联的任何子记录(请参阅此处:developer.apple.com/documentation/cloudkit/ckrecord/…)。您不能共享整个区域或记录类型。它始终以每条记录为基础。共享对象是具有不同 Apple ID 的人,是的。【参考方案2】:

私有容器中的数据不能直接共享。您应该为该功能使用公共容器。您只需在您的应用中创建正确的过滤器,以便只与您想与之共享数据的人共享数据。

【讨论】:

谢谢!正如我所怀疑的那样。我会看一下文档。 :)

以上是关于CloudKit 在用户之间共享私有容器的主要内容,如果未能解决你的问题,请参考以下文章

CloudKit - 通过 URL 在用户之间共享文件

CloudKit,NSPredicate在私有容器中返回计数或确定是否存在任何记录?

使用 CloudKit 在用户之间共享 CKAsset?

多个应用程序用户访问 CloudKit 中的私有数据库

如何在 CloudKit 中存储对共享记录的引用

CloudKit,NSPredicate 在私有容器中返回计数或确定是不是存在任何记录?