首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CloudKit删除CKReference的自选项无效

CloudKit删除CKReference的自选项无效
EN

Stack Overflow用户
提问于 2016-04-07 00:13:42
回答 1查看 1.1K关注 0票数 8

有谁有使用CloudKit选项DeleteSelf进行CKReference的经验吗?这是我从医生那里得到的:

DeleteSelf 引用记录的删除操作。删除记录还会删除指向该记录的任何包含CKReference对象的记录。删除附加记录可能触发对更多记录的级联删除。删除在默认区域中是异步的,在自定义区域中是直接的。

所以我一直在测试这个问题,我使用CloudKit Dashboard和我的应用程序创建了多个CloudKit Dashboard对象。每当我用我的应用程序做这件事时,我就创建如下所示的引用:

代码语言:javascript
复制
let reference:CKReference = CKReference(recordID: savedFriend.friendID, action: CKReferenceAction.DeleteSelf)

我知道它被分配给删除自己,因为它在仪表板中显示选中的选项:

我肯定做错了什么,因为每当我去手动删除使用仪表板引用的记录,或者设置我的应用程序以编程方式删除它,记录就会消失,但是引用永远不会被删除。我想也许我应该等待,它最终会发生,但几个小时后,它仍然在那里检查,就像它应该删除自己。这有点令人沮丧,因为我设计了一些我的代码,假设这是可行的,现在我可以有一个应用程序,它在浪费资源,试图找到一个不再存在的CKRecord。难道我不应该依赖这个才能成功吗?我很感激我能得到的任何帮助或建议。

更新: 04/07/2016

我跳过枪回到这里,并发布了一个更新说,这个问题已经解决了自己。我并不完全相信这个问题不会再次出现,所以昨晚我寻求一些安慰。我创建了5个不同的CKRecords,并创建了各种不同的CKReference对象,以便在整个数据库中引用它们。然后,我继续对每个引用设置CKReferenceAction.DeleteSelf选项(我通过仪表板手动尝试了两个,其他三个通过编程完成)。无论如何,我等了几分钟,然后删除了引用的records...after 10分钟--所有的引用都仍然存在。我又等了5-10分钟,他们还在那里,所以我去睡觉,假设他们肯定会在早上离开,对吗?不对!12小时后,CKReference条目仍然存在,引用的记录仍然消失。我肯定在挠我的头,好像是CloudKit的一个bug。我应该提一下,我也注意到仪表板上有一些奇怪的行为。在过去的四天左右,在左下角,它一直说它是“重新编制开发数据索引”,举个例子,下面是一张图片:

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

EN

回答 1

Stack Overflow用户

发布于 2016-07-27 08:34:42

这很可能是许可问题。

只有当删除记录的用户对需要删除的所有记录具有“写”权限时,级联删除才能工作。因此,在CloudKit仪表板中,级联删除只适用于用开发人员的iCloud帐户创建的记录。

见我的答案:https://stackoverflow.com/a/38606004/6643055

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36464483

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档