Objective c 将值从CloudKit应用程序传递给其他用户

Objective c 将值从CloudKit应用程序传递给其他用户,objective-c,xcode,sharing,cloudkit,Objective C,Xcode,Sharing,Cloudkit,我是CloudKit的新手,刚刚从开发人员库分析了CloudKitAtlas。 我创建了一个应用程序,我想在其中向同一应用程序的其他用户“共享”数据 我在私有数据库中有一个CKContainer,用户把他创建的所有字典都放在那个里。现在,我想让他有可能将部分数据共享给另一个用户(创建公共containerwhiteIdentifier)。我知道可以检查地址簿中的每个电子邮件地址,并得到安装该应用程序的用户的结果。所以用户可以选择谁将能够看到他的数据 问题是如何告诉另一个用户应用程序“查看我共享数

我是CloudKit的新手,刚刚从开发人员库分析了CloudKitAtlas。 我创建了一个应用程序,我想在其中向同一应用程序的其他用户“共享”数据

我在私有数据库中有一个CKContainer,用户把他创建的所有字典都放在那个里。现在,我想让他有可能将部分数据共享给另一个用户(创建公共containerwhiteIdentifier)。我知道可以检查地址簿中的每个电子邮件地址,并得到安装该应用程序的用户的结果。所以用户可以选择谁将能够看到他的数据

问题是如何告诉另一个用户应用程序“查看我共享数据上的容器”:)


有人已经这样做了吗?

您可以使用container discoverAllContactUserInfosWithCompletionHandler方法列出addresbook中安装了应用程序的所有用户。它将返回一个数组,您可以从中获取recordID。如果您想与其中一个用户共享某些内容,那么创建一个记录,将该ID放入“收件人”字段中。在应用程序启动时,您将创建一个带有谓词的订阅,该谓词将查找该TO字段,并将其与您自己的用户recordId进行比较。因此,如果在“收件人”字段中使用您的ID创建记录,则您将收到通知。要发送给其他用户的内容必须在公共数据库中。我正在做这样的事情。代码可以在(正在工作)中找到。

检查CloudKit框架中的CKContainer.h,他们通过电子邮件地址在您的联系人中查找联系人。如果联系人中的电子邮件地址不是登录apple id(或icloud帐户?)的电子邮件地址,我猜它不匹配

typedef NS_OPTIONS(NSUInteger, CKApplicationPermissions) {
    /* Allows the user's record in CloudKit to be discoverable via the user's email address */
    CKApplicationPermissionUserDiscoverability         = 1 << 0,
} NS_AVAILABLE(10_10, 8_0);
typedef NS_选项(NSUInteger、CKApplicationPermissions){
/*允许通过用户的电子邮件地址发现CloudKit中的用户记录*/

CKApplicationPermissionUserDiscoverability=1该项目对我不起作用,我只使用Objective-C编写代码,所以我必须试着用我的方式来做:)但还是投票支持你的帮助..你是否遵循使用cocoapods下载依赖项的说明?没有..我只是检查了你的代码。该程序将类似于messenger?是的,messenger将是CloudKit dao的演示。正如我所说,这是一项正在进行的工作。还有很多工作要做。