在开发中测试 CloudKit 中的 CKErrorUserDeletedZone

Posted

技术标签:

【中文标题】在开发中测试 CloudKit 中的 CKErrorUserDeletedZone【英文标题】:Test CKErrorUserDeletedZone in CloudKit While In Development 【发布时间】:2015-09-03 20:24:24 【问题描述】:

感谢您的观看。我希望有人可以提供帮助,我有点不知所措。

我有一个生产中的应用程序当前无法处理 CloudKit 的 CKErrorUserDeletedZone 错误。当用户从 iPhone/iPad 上的 Settings->iCloud 区域或 Mac 上的 System Preferences->iCloud 区域删除容器数据时,就会发生这种情况。

我遇到的问题是我无法在从 Xcode 运行时测试这个场景,因为它使用的是开发而不是生产服务器。只有生产数据库显示在设置/系统偏好区域中。这意味着我无法在 Xcode 中进行调试时重新创建场景。在生产环境中进行测试的唯一方法是导出应用程序,遗憾的是,完成后无法从 Xcode 进行调试。

有什么方法可以测试这个,还是我在这里完全失明?我很乐意在生产中处理它,但是对于大量用户,当目前只有少数用户遇到问题时,我宁愿不要把事情弄得一团糟。

谢谢!

【问题讨论】:

【参考方案1】:

您可以通过将以下条目添加到您的 .entitlements 文件来配置您的调试版本以使用生产容器:

<key>com.apple.developer.icloud-container-environment</key>
<string>Production</string>

Xcode 在准备提交您的应用时会做同样的事情。

【讨论】:

在 OS X 上这是不可能的,因为它会导致代码签名错误。 ***.com/questions/30182521/… @berbie 现在已经不是这样了。【参考方案2】:

您现在可以通过在仪表板中勾选清除区域来测试这一点。

【讨论】:

以上是关于在开发中测试 CloudKit 中的 CKErrorUserDeletedZone的主要内容,如果未能解决你的问题,请参考以下文章

CloudKit:将容器环境从开发切换到生产

CloudKit 分离开发​​者 ID 和测试 ID

在 CloudKit 中将记录从开发转移到生产?

在测试中运行 CloudKit 代码?

Cloudkit 中的即时模式

CloudKit 私有数据库开发者访问