我正在尝试保存我在CloudKit仪表板中创建的记录。
@IBAction func signUpPressed(_ sender: AnyObject) {
let authInfo = AuthInfo()
authInfo.email = emailField.text!
authInfo.firstName = firstField.text!
authInfo.lastName = lastField.text!
authInfo.username = usernameField.text!
authInfo.password = passwordField.text!
let container = CKContainer.default()
let privateData = container.privateCloudDatabase
let record = CKRecord(recordType: "Authentication")
record.setValue(authInfo.email, forKey: "email")
record.setValue(authInfo.username, forKey: "username")
record.setValue(authInfo.firstName, forKey: "firstName")
record.setValue(authInfo.lastName, forKey: "lastName")
record.setValue(authInfo.password, forKey: "password")
privateData.save(record, completionHandler: { record, error in
if error != nil {
print(error)
} else {
}
而且,我很确定我的代码没问题。 (CloudKit框架肯定是正确导入的,并且使用有效的开发人员帐户和容器正确启用CloudKit,没有问题)但是当我尝试运行此代码时,我收到一条错误消息,说我有一个授权帐户。但是,其他类似的问题似乎已经通过确保您在模拟器上登录到iCloud来解决(我正在使用Xcode 8),但是我已经检查并仔细检查了我登录到iCloud,所以我没有想法是什么问题。我怎么能解决这个问题呢。它实际上与我的代码有关吗?
答案 0 :(得分:1)
您的代码看起来很好。它与身份验证有关。
您使用的是新的iCloud测试帐户还是开发者帐户?如果是全新的帐户,我会先尝试通过iCloud.com在浏览器中登录。
另一种选择可能是重置模拟器(Reset Content and Settings
)并在Settings > iCloud
中再次设置iCloud。