2

我使用 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。知道发生了什么吗?

4

1 回答 1

0

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

于 2018-02-26T07:53:48.637 回答