如何找出与CKShare相关的根记录?

时间:2017-11-22 08:02:07

标签: ios swift cloudkit

我只有CKShare条记录。只有这个,我需要知道其他根CKRecord与它有什么关系。

由于总是需要root记录,我现在需要知道它。但是在初始化程序中看不到其他地方的财产。

public convenience init(rootRecord: CKRecord)

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

您应该使用CloudKit操作:CKFetchShareMetadataOperation。此操作使用CKShare().urls数组初始化,并返回相应的CKShareMetadata?数组。 CKShareMetadata类包含rootRecordID: CKRecordID和其他有趣的属性,例如关联的shareparticipantType: CKShareParticipantTypeparticipantType可用于判断执行提取的客户是否是共享的所有者。

它还包含可选的rootRecord: CKRecord?。你可以强迫 在添加到队列之前,通过在shouldFetchRootRecord操作实例上将true设置为CKFetchShareMetadataOperation来获取所有根记录。