我使用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。知道发生了什么吗?
答案 0 :(得分:0)
据我所知,使用CloudKit(适用于MacOS)与iOS,tvOS和watchOS不同。 要在另一台计算机上进行测试,此计算机必须在您的门户中注册,新测试计算机的iCloud帐户也必须是开发人员帐户,最后您的二进制文件应配置为在生产环境中运行而不是开发。