Сохранение записи в 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, поэтому у меня нет Идея в чем проблема. Как я могу обойти это. Это как-то связано с моим кодом?
1 ответ
Ваш код выглядит хорошо. Это связано с аутентификацией.
Вы используете новую тестовую учетную запись iCloud или свою учетную запись разработчика? Если это новая учетная запись, я бы сначала попытался войти в браузер через iCloud.com.
Другим вариантом может быть сброс симулятора (Reset Content and Settings
) и снова настройте iCloud в Settings > iCloud
,