CloudKit删除CKReference的自选项不起作用

有没有人有经验使用CloudKit选项DeleteSelfCKReference ? 以下是我从文档中获得的内容:

DeleteSelf

引用logging的删除操作。 删除logging还会删除包含指向该logging的CKReference对象的任何logging。 删除其他logging可能会触发级联删除更多logging。 这些删除在默认区域中是asynchronous的,在自定义区域中是立即的。

所以我一直在testing这个,我已经使用CloudKit Dashboard和使用我的应用程序创build了多个CKReference对象。 每当我用我的应用程序做,我创build的参考如下所示:

 let reference:CKReference = CKReference(recordID: savedFriend.friendID, action: CKReferenceAction.DeleteSelf) 

我知道它被指定为删除自己,因为在仪表板中它显示选项被选中: 删除自己关闭

我必须做错事,因为每当我去手动删除使用仪表板引用的logging,或者设置我的应用程序以编程方式删除它,logging消失,但引用永远不会被删除。 我想也许我应该等待,最终会发生,但几个小时后,它仍然在检查,像它应该已经删除本身。 这是有点令人沮丧,因为我devise了一些我的代码假设这将工作,现在我可以有一个应用程序浪费资源,试图find一个不存在的CKRecord了。 我不应该依靠这个来工作吗? 我感谢任何帮助或build议,我可以得到。

更新〜04/07/2016

我跳了枪回到这里,并发布了一个更新,这个问题已经解决了。 我并不完全相信这个问题不会回弹,所以我昨晚寻求一些安慰。 我创build了5个不同的CKRecords并创build了各种不同的CKReference对象来在我的数据库中引用它们。 然后我开始在每个引用上设置CKReferenceAction.DeleteSelf选项(我通过仪表板手动尝试了两个,其他三个以编程方式完成)。 无论如何,我等了几分钟,然后删除引用logging…十分钟后,参考文献仍然存在。 我又等了5-10分钟,他们还在那里,所以我上床睡觉,早上一定要走了,对不对? 错误! 十二个小时后, CKReference条目仍然存在 ,引用的logging仍然消失。 我肯定是在挠头,似乎是CloudKit的一个bug。 我应该提到,我也注意到我的仪表板中有一些奇怪的行为。 在过去的四天左右,在左下angular一直说它是“重build发展数据”,这里是一个例子: 重新索引通知

这可能会导致这个问题? 有没有人熟悉这个问题,并知道解决这个问题的方法? 任何build议,将不胜感激。 我已经向苹果提交了一个错误报告。

这很可能是一个权限问题。

级联删除仅在删除logging的用户对所有需要删除的logging具有“写入”权限的情况下才起作用。 因此,在CloudKit Dashboard中,级联删除仅适用于使用开发人员的iCloud帐户创build的logging。

看到我的答案在那里: https : //stackoverflow.com/a/38606004/6643055