Сохранение записи в CloudKit не работает [Swift 3]

Я пытаюсь сохранить запись, сделанную мной на панели управления 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, поэтому у меня нет идея, в чем проблема. Как я могу это обойти. Это действительно как-то связано с моим кодом?


person RufusV    schedule 08.08.2016    source источник
comment
Вы можете показать фактическое сообщение об ошибке?   -  person Yann Bodson    schedule 09.08.2016
comment
@grimfrog Вот это ‹CKError 0x60800024e2b0: Not Authenticated (1002); Для этого запроса требуется аутентифицированная учетная запись; Повторить попытку через 3,0 секунды ›   -  person RufusV    schedule 09.08.2016


Ответы (1)


Ваш код выглядит нормально. Это связано с аутентификацией.

Вы используете новую тестовую учетную запись iCloud или свою учетную запись разработчика? Если это новая учетная запись, я бы сначала попробовал войти в браузер через iCloud.com.

Другой вариант - сбросить симулятор (Reset Content and Settings) и снова настроить iCloud в Settings > iCloud.

person Yann Bodson    schedule 09.08.2016