CloudKit:区域已被用户清除

Posted

技术标签:

【中文标题】CloudKit:区域已被用户清除【英文标题】:CloudKit: Zone was purged by the user 【发布时间】:2015-10-22 18:11:29 【问题描述】:

我的一个用户删除了他们的云数据,现在他们收到“区域已被用户清除”消息。我相信它在获取区域时返回错误 CKErrorUserDeletedZone。

文档说明如下:

用户通过设置 UI 删除了该区域。您的客户端应删除其本地数据或在之前提示用户 试图将任何数据重新上传到该区域。 */

尚不清楚我是否应该删除该区域并重新创建它。 有人遇到过这种情况吗?

【问题讨论】:

这个设置界面还存在吗?只是想知道,因为我个人还没有看到它。支持 CloudKit 的应用程序甚至不会出现在 iCloud 存储列表中。 在 Mac 中转到您的系统偏好设置 -> iCloud -> 管理 -> 选择应用程序 -> 删除文档和数据 看不到 CloudKit 存储,只有使用 iCloud 文档的应用程序。 【参考方案1】:

该区域已被删除,您应该询问用户是否要重新创建数据库(如果可能)或停止使用 CloudKit。 如果您的应用需要 CK,那么您应该要求用户不要再这样做了。

【讨论】:

用户如何才能真正删除数据库?应用程序如何重新创建数据库,在什么情况下这是不可能的?你说的数据库是指CKRecordZone吗? 抱歉耽搁了。是的,我的意思是 CKRecordZone。用户可以删除他的私人记录区域,但只能删除私人,不能删除公共。而且你只能重新创建结构,而不是数据,除非你在其他地方有备份。 @Joel 用户如何从应用程序外部删除自己的私人记录区域? @maddy 用户可以从设置 -> iCloud -> 管理存储中删除任何应用程序的所有 iCloud 数据。

以上是关于CloudKit:区域已被用户清除的主要内容,如果未能解决你的问题,请参考以下文章

无法使用 CloudKit 获取 sharedCloudDatabase 自定义区域中的记录

CloudKit 用户身份验证与单点登录

CloudKit 查询操作只返回 300 个结果

CloudKit 离线存储

CloudKit,无法修改某些记录 - 未找到区域

Cloudkit:“提供的 ZoneId 与目标区域不匹配”