В приложении отсутствуют необходимые права com.apple.developer.icloud-services.

Я использую общедоступную базу данных iCloud в своем приложении, которое отлично работает и доступно в магазине.

При обновлении моего приложения до новой версии (с Xcode 7 на iOS9) я получаю сбой в строке:

CKContainer * container = [CKContainer containerWithIdentifier:@"iCloud.com.identifier"];

*** Terminating app due to uncaught exception 'CKException', reason: 'The application is missing required entitlement com.apple.developer.icloud-services'

Это происходит ТОЛЬКО при первом запуске приложения после обновления и только на iOS9. После этого первого запуска (обновления) приложение запускается, и iCloud работает должным образом.

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

Если я выполняю те же действия (загружаю производственное приложение и обновляю) с помощью iOS8, у меня не возникает такого же сбоя.

Я предполагаю, что это ошибка iOS9 или Xcode 7. Любые идеи?

РЕДАКТИРОВАТЬ: Это фактически происходит при первом запуске приложения на iOS9, независимо от того, обновляю ли я его или просто сначала устанавливаю.


person olynoise    schedule 22.09.2015    source источник
comment
У меня такая же проблема. Ни один из ответов не сработал для меня. Я вижу эти сбои только в Fabric/Crashlytics/Firebase, а не в организаторе Xcode. Многие сбои происходят из-за взломанных устройств, но не все из них.   -  person Genki    schedule 04.02.2020


Ответы (7)


Включение и выключение возможности iCloud, похоже, исправило это.

person olynoise    schedule 23.09.2015

Переключение iCloud у меня не сработало. Переустановка приложения тоже не помогла. Проблема возникает всякий раз, когда у меня включены точки останова. Если я отключу их, он работает без каких-либо проблем.

person Mark Bridges    schedule 24.10.2015
comment
о, кстати: у меня была проблема только на 64-битных устройствах, но кто знает, действительно ли это связано - person martn_st; 30.10.2015
comment
у меня не было точек останова, но это все равно не сработало. (iPhone 5s, iOS 9.2) - person Benjamin Wen; 23.03.2018
comment
У меня тоже нет брейк-пойнтов. Все еще не работает с приложением macOS 10.13.5. :( - person Clifton Labrum; 13.06.2018
comment
Это также может быть проблемой джейлбрейка для производственной сборки. Вы можете заключить вызов в блок @try-catch, чтобы избежать сбоя, а затем обработать его соответствующим образом. - person Kashif Hisam; 27.09.2018

Xcode 11.1

Убедитесь, что вы включили его как для режима отладки, так и для режима выпуска: введите здесь описание изображения

person M Afham    schedule 03.04.2020

Для меня включение/выключение возможности iCloud было способом исправить это, поскольку после этого в файле прав создается новый ключ: «Среда APS» и его значение «производство» или «развертывание».

person jankoesp    schedule 13.10.2016

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

person StuartM    schedule 16.02.2016

Для меня у меня были права на подпись кода, назначенные для моей тестовой цели. Таким образом, приложение будет работать нормально. Но модульные тесты просто прекратились, несмотря ни на что. Очистка поля «Права на подпись кода» в настройках сборки тестовой цели устранила проблему. После. Многие. Часы.

person CommaToast    schedule 12.08.2016

После перехода на новую версию Xcode я получил эту ошибку. Ни одно из других исправлений не помогло. Присмотревшись, я увидел, что идентификатор подписи кода изменился! Когда поставил обратно все заработало.

person john elemans    schedule 09.08.2019