2016-08-08 54 views
0

我试图保存我在CloudKit仪表板中创建的记录。在CloudKit中保存记录无法正常工作[Swift 3]

@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已通过有效的开发人员帐户和容器正确启用,但没有问题)但是,当我尝试运行此代码时,出现错误,说明我有一个授权帐户。然而,其他类似的问题似乎已经通过确保您在模拟器(我使用Xcode 8)上登录到iCloud来解决,但是我已经检查并且仔细检查了我是否登录到了iCloud,因此我没有想法是什么问题。我怎样才能解决这个问题。它实际上是与我的代码有关吗?

+0

你能显示实际的错误信息吗? –

+0

@grimfrog这是 RufusV

回答

1

你的代码看起来不错。它与身份验证有关。

您使用的是新的iCloud测试帐户还是您的开发者帐户?如果它是一个全新的帐户,我会尝试首先通过iCloud.com在浏览器中登录。

另一个选项可能是重置模拟器(Reset Content and Settings)并再次在Settings > iCloud中设置iCloud。