CloudKit 错误:在 Mac 上未经过身份验证,但我已登录

Posted

技术标签:

【中文标题】CloudKit 错误:在 Mac 上未经过身份验证,但我已登录【英文标题】:CloudKit Error: Not Authenticated on Mac but I'm Signed In 【发布时间】:2017-03-10 23:29:08 【问题描述】:

我使用 iCloud 作为在 Mac 应用程序中验证用户身份的一种方式。我使用一些代码来查找用户的recordName,这是一个独特的字符串,可以帮助我的应用知道他们是谁,而无需任何个人详细信息。

func fetchCloudKitAccessToken(completion: @escaping (_ accessToken: String?, _ error: Error?) -> Void) 

  let container = CKContainer(identifier: "iCloud.my.container.here")

  container.fetchUserRecordID  (recordID, error) in
    let token = recordID?.recordName
    completion(token, error)
  

这在我的 Xcode 构建应用程序的 Mac 上效果很好。但是当我将我的应用程序二进制文件移动到其他计算机(我也登录到 iCloud)时,我得到了这个CKError

CKError 0x60800024e4f0: "未认证" (9); “没有 iCloud 帐户 已配置”

但我肯定已登录 iCloud。知道发生了什么吗?

【问题讨论】:

【参考方案1】:

据我了解,使用 CloudKit(适用于 MacOS)时与 ios、tvOS 和 watchOS 不同。 要在另一台计算机上进行测试,这台计算机必须在您的门户中注册,新测试计算机的 iCloud 帐户也必须是开发人员帐户,最后您的二进制文件应配置为在生产环境中运行而不是在开发环境中运行。

【讨论】:

以上是关于CloudKit 错误:在 Mac 上未经过身份验证,但我已登录的主要内容,如果未能解决你的问题,请参考以下文章

cloudkit:验证开发人员 ID 签名的应用程序错误:存档的应用程序具有需要 Mac 应用商店分发的权利

CloudKit acceptShare 错误 - “无法获得共享身份集”

Cloudkit 身份验证仅适用于我的 alt 帐户,不适用于 Dev 或 Tester 帐户

如何在 ios 设备上未启动本机应用程序时进行调试

Cordova 应用程序在 Android 上未收到基本身份验证挑战的问题

QSqlDatabase:Mac OS 上未加载 QMYSQL 驱动程序