CloudKit 无法从公共容器中获取数据。错误 1/4000

Posted

技术标签:

【中文标题】CloudKit 无法从公共容器中获取数据。错误 1/4000【英文标题】:CloudKit fails to fetch data from Public Container. Error 1/4000 【发布时间】:2016-09-05 18:38:58 【问题描述】:

我最近部署了一个支持 CloudKit 的应用更新。它一直运行良好,突然间我开始收到此错误:

Internal Error" (4000); "Couldn't get a signing certificate"

我的应用无法从 CloudKit 获取信息。

我的配置文件没问题。我更改了 Apple ID 以进行检查,但没有一个有效。我更换了 iPhone,但仍然没有运气。

开发环境可以在模拟器上运行,但不能在 iPhone 上运行。 显然生产环境无法从模拟器中获取。

最有趣的部分是,如果我将 iPhone 连接到 Mac,然后转到 Xcode -> 设备,打开从 App Store 下载的应用程序,并读取设备日志,当我尝试获取记录时,它会记录:

Sep 5 15:26:23 Rogers-6 cloudd[7493] <Error>: We didn't get a Mescal cert back from the server Sep 5 15:26:23 Rogers-6 cloudd[7493] <Error>: Couldn't renew Mescal session. Failing this request: <CKError 0x12eee3680: "Internal Error" (4000); "Couldn't get a signing certificate">

我在 Google 中用引号搜索了那个 Mescal 错误,结果为零。

关于这个问题只有一个 Stack Overflow 问题:

    CloudKit: "Internal Error" (1/4000); "Couldn't get a signing certificate"> 而且没有帮助。

最后,但最重要的是,它 对某些用户 afaik 有效。我的一个朋友安装了我的应用程序,它可以毫无问题地获取数据。

有什么线索吗?

提前致谢。

PS:如果有人想测试一下它是否适合你,我的应用在 App Store 上名为 Sueca Drinking Game。

【问题讨论】:

嗨罗杰。最近几天我也遇到了类似的问题。我想知道苹果是否有一些问题。你有运气吗? 不,@ChrisVilla,不幸的是不是:(而且仍然面临问题。 我的好像又自发地开始工作了 我的也开始工作了!感谢您的“通知”@ChrisVilla! ;) 我没有做任何改变它,它突然又开始工作了。 PS:还是对这个问题很生气。我们依赖 Apple 的服务(而不是第 3 方的),但他们无法提供质量。不像苹果。 :// 我仍然有同样的问题。还有其他人有这个问题吗?它在模拟器中工作,但不在设备上.. :/ 【参考方案1】:

似乎任何运行 ios 10 并试图访问公共 iCloud 数据库中的数据的人都必须在其设备上启用 iCloud。我也遇到了这个问题,所有受影响的人都关闭了 iCloud Drive。我希望这会有所帮助!

【讨论】:

恐怕我们(至少是我)遇到的这个问题与iOS版本完全无关,与iCloud Drive无关。说明:在过去的 2 个月里,我的应用程序(即在 App Store 中的)上没有更改任何代码,并且行为发生了变化(从工作到不工作,到工作,现在到不工作),我的 iCloud Drive 设置、iCloud 帐户和 iOS 升级没有任何变化。我在运行 iOS 9.3.3 的两个 iDevice 上都遇到了这个问题,它们都具有相同或不同的 Apple ID(经过测试),但仍然没有运气。这是 100% Apple 的服务器端。【参考方案2】:

9 月 14 日:问题已解决。我在我的票上得到了 Apple 的这个答案:

我们相信这个问题已经通过我们的改变得到了解决。

如果此问题仍然存在,请使用相关日志和测试用例更新您的错误报告。

毕竟,它真的站在他们这边。希望这些信息对您有所帮助。

编辑(9 月 30 日):我再次面临这个问题。同样的诊断,我这边没有改变。填写了苹果的新票,我希望它很快得到解决,因为我受到这个错误的经济影响:/

【讨论】:

以上是关于CloudKit 无法从公共容器中获取数据。错误 1/4000的主要内容,如果未能解决你的问题,请参考以下文章

CloudKit iOS 10 错误:帐户无权访问 CloudKit 帐户

Swift - 从 Cloudkit 公共数据库中获取所有记录

无法从 CloudKit 通知信息和用户信息结构中获取 CKRecord.ID

从模拟器查询公共数据库时出现 Cloudkit 错误

为啥 CloudKit 不允许我将任何记录保存到默认容器的公共数据库中?

CloudKit 光标错误和无法返回所有行 - 获取记录时遇到错误