2016-11-01 2 views
0

У меня есть приложение, которое использует CloudKit для бэкэнд, и оно прекрасно работает с данными, когда пользователь не вошел в систему или пользователь вошел в систему, iCloud Drive включен. Однако, если пользователь вошел в системуиICloud Drive отключена, я получаю сообщение об ошибке на моем CKQuery и возвращаемые результаты являются пустыми. Ошибка:Доступ к открытому контейнеру CloudKit при входе пользователя в систему, но iCloud Drive отключен

«Не аутентифицировано» (9/1002); «У учетной записи нет доступа к учетной записи CloudKit»

Такое поведение кажется странным для меня, поскольку пользователи могут быть вышли из системы и получить доступ к данным. Можно ли отключить пользовательские данные контейнера с отключенным iCloud Drive?

Примечание: это необходимо, потому что многие люди, которых я знаю, имеют установленные на компьютере профили MDM, которые ограничивают доступ к iCloud Drive, тем самым убивая бэкэнд для моего приложения.

ответ

0

Я также заметил это. Я нашел под ios9 xcode 7 пользователей, которые не вошли в iCloud, могли читать, но не писать.

Для приложения работает CloudKit, общедоступная база данных в контейнере всегда является читаемыми, даже если пользователь не вошли в свой счет ICloud на устройстве. Сохранение записей в публичной базе данных и доступ к приватной базы данных требует, чтобы пользователь не будет подписан в

https://developer.apple.com/library/prerelease/content/documentation/General/Conceptual/iCloudDesignGuide/DesigningforCloudKit/DesigningforCloudKit.html

Все мои испытания, так как ios10 и Xcode 8 показывают, что это уже не так, и если вы не вошли в iCloud, вы не можете читать или писать. Я не могу найти документацию, подтверждающую это, но запуск моего приложения на устройстве с ios9 работает, а на ios10 - нет.

+0

Я смог получить данные, когда не был подписан на iOS 10, но только на устройстве, а не в симуляторе. В симуляторе появляется какая-то ошибка. Я также обнаружил, что Apple не позволит вашему приложению в App Store, если для входа в систему требуется iCloud для основных функций. – EarlybirdAdam

+0

Я должен также упомянуть, что функция записи всегда требовала входа в iCloud – EarlybirdAdam

+0

@EarlybirdAdam У меня нет работы на самом устройстве вообще с ios10. Я установил свое приложение, чтобы проверить, зарегистрирован ли пользователь и загружает данные, или отображает предупреждение, чтобы сообщить им войти в систему. Таким образом, из-за звуков, которые меня отклонят. Есть ли что-то, что вы сделали, чтобы прочитать его с пользователями, не входящими в систему? –

Смежные вопросы