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

时间:2017-03-10 23:29:08

标签: macos cocoa cloudkit cloudkit-environments

我使用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 个答案:

答案 0 :(得分:0)

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