2016-08-08 3 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이 유효한 개발자 계정 및 컨테이너와 함께 올바르게 설정되어 있지만 아무런 문제가 없습니다.) 그러나이 코드를 실행하려고하면 승인 된 계정이 있다고 말하는 오류가 발생합니다. 그러나 시뮬레이터에서 iCloud에 로그인했는지 (Xcode 8을 사용하고 있는지 확인) 다른 유사한 질문이 해결 된 것 같았지만 iCloud에 로그인했는지 확인하고 두 번 확인 했으므로 아이디어가 무엇인지 생각해보십시오. 이 문제를 어떻게 해결할 수 있습니까? 실제로 내 코드와 관련이 있습니까?

+0

실제 오류 메시지를 표시 할 수 있습니까? –

+0

@grimfrog 여기에 RufusV

답변

1

코드가 정상적으로 보입니다. 그것은 인증과 관련이 있습니다.

새로운 iCloud 테스트 계정 또는 개발자 계정을 사용하고 있습니까? 새로운 계정이라면 먼저 iCloud.com을 통해 브라우저에 로그인하려고합니다.

또 다른 옵션은 Settings > iCloud 다시 시뮬레이터 (Reset Content and Settings) 및 설정 아이 클라우드를 재설정 할 수 있습니다.