Сохранение записи CloudKit "Не аутентифицировано" (9/1002) "Для этого запроса требуется аутентифицированная учетная запись",

Сохранение CKRecord в симуляторе дает мне следующую ошибку:

                [publicDatabase saveRecord:cloudRouteEntity
                     completionHandler:^(CKRecord *record, NSError *error) {
                         if (error) {
                             NSLog(@"An error occured in %@: %@", NSStringFromSelector(_cmd), error);
                             abort();
                         } else {

                             dispatch_async(dispatch_get_main_queue(), ^(void) {
                                 //gui
                                 NSLog(@"Created Cloudkit Entity");

                             });
                         }
                     }];

Однако он работает по телефону. Почему у симулятора нет доступа к базе данных CloudKit?

EDIT: Я думал, что буду умным, добавив учетную запись iCloud в симулятор, но iCloud стонет, что это запрещено на этом устройстве (симуляторе). Идеи кто-нибудь?

Ответы

Ответ 1

У меня возникла та же проблема, с которой я смог разрешить вход в мою учетную запись iCloud в симуляторе (Настройки > iCloud).

Начиная с последнего Xcode, вы можете войти в свою учетную запись iCloud в симуляторе, и все должно работать.

Если у вас возникли проблемы при входе в систему, попробуйте перейти на iCloud.com на рабочий стол и войти в систему первым. Как только это настроено правильно, попробуйте в симуляторе.

Ответ 2

Я вижу ту же ошибку. Согласно обсуждению, приведенному ниже, причиной может быть двухфакторная аутентификация.

https://discussions.apple.com/thread/6588883

Ответ 3

Так как люди могут неправильно интерпретировать одобренный ответ (как и я), вот немного более подробная информация, чтобы пройти через это (вы можете использовать сочетания клавиш, но я уточняю выбор меню для ясности):

  • Запустить симулятор (Xcode) - Запустить приложение из Xcode в симуляторе выберите "Продукт" > "Выполнить"
  • Начальный экран приложения (симулятор). В симуляторе перейдите к На главном экране выберите "Оборудование" > "Домашняя страница"
  • Настройки Приложение (Simulator) - найдите приложение настроек (механизм), запустите его и выберите iCloud
  • Аутентификация (Simulator) - введите свои учетные данные и логин (или повторно войти, если ваши учетные данные изменились) в iCloud. Когда вы это сделаете это вы можете повторно запустить приложение, и оно должно ICloud

Как только вы сделаете это, вы готовы пойти на будущие сборки и запустить.

Ответ 4

Reset симулятор полностью (убедитесь, что ничего не осталось), переустановите его. Может быть, у вас неправильная версия? Если возможно, попробуйте, если он работает на другом ПК или ноутбуке.

Я тестировал его, и я смог подключиться к iCloud, поэтому я уверен, что он что-то о ваших настройках/неправильной установке и т.д.

Ответ 5

У меня была аналогичная проблема, если я не зашел в раздел "Настройки приложения /iCloud " на моей iPad Retina iOS8.1.1

Ответ 6

У меня была та же проблема.

Я добавил индекс запросов id в записи "Пользователи", когда я удалил этот индекс, проблема остановилась.

Я даже не знаю, какова связь между этими вещами, но это сработало для меня.

Извините за плохой английский