У меня есть приложение, для которого мы отправили десятки версий за последние 6 месяцев, и мы действительно используем APNS. Я получил следующее письмо от Apple после обновления до Xcode 8
Уважаемый разработчик,
Мы обнаружили одну или несколько проблем с вашей недавней доставкой для APP_NAME. Ваша доставка прошла успешно, но при следующей доставке вы можете исправить следующие проблемы:
Отсутствует право на push-уведомления - ваше приложение включает API для службы push-уведомлений Apple, но в подписи приложения отсутствует право на aps-environment. Чтобы решить эту проблему, убедитесь, что ваш идентификатор приложения включен для push-уведомлений на портале Provisioning Portal. Затем подпишите свое приложение с профилем обеспечения распространения, который включает право на aps-environment. Это создаст правильную подпись, и вы сможете повторно отправить свое приложение. См. «Provisioning and Development» в Руководстве по программированию локальных и push-уведомлений для получения дополнительной информации. Если ваше приложение не использует службу Apple Push Notification, никаких действий не требуется. Вы можете удалить API из будущих представлений, чтобы это предупреждение не отображалось. Если вы используете сторонний фреймворк,
После исправления проблем вы можете использовать Xcode или Application Loader для загрузки нового двоичного файла в iTunes Connect.
С Уважением,
Команда App Store
Что странно, я пошел на developer.apple.com -> Certificates, Identifiers & Profiles, и в моем AppId все еще включены Push-уведомления. Я не делаю ничего другого, чем когда-либо делал, поэтому мне любопытно, сломало ли что-то обновление Xcode 8. Любые идеи?
Кстати: ссылка, которую они поместили на Руководство по программированию push-уведомлений, была неработоспособна в электронном письме, так что это плохой знак.
У меня тоже такая же проблема, и я уверен, что push-уведомления отключены по умолчанию в Xcode8. Я этого не заметил. Будьте осторожны с этим.
источник
В Xcode 8 произошло изменение, в котором ваши права больше не исходят из идентификаторов приложений, а из возможностей, выбранных в целевом приложении. Итак, как сказал Unome (OP), вы должны убедиться, что Push-уведомления включены.
Для меня это не была кнопка «Исправить меня», но у меня было два файла прав (один для разработки и один для распространения). Включение возможности push-уведомлений добавит
aps-environment
ключ со значениемdevelopment
в файл прав на разработку, но не добавит его в файл прав на распространение. Копирование того же ключа в дистрибутив помогло избавиться от электронного письма с предупреждением при загрузке в iTunes Connect.Для большинства проектов должно быть достаточно включить push-уведомления, или, если он уже включен, но ключа нет в правах, попробуйте выключить и снова включить его.
источник
.entitlements
файле для текущей конфигурации / схемы, он всегда используется вproduction
качестве файлаaps-environment
.production
.development
. Он будет изменен в ipa при архивировании проекта.Из примечаний к выпуску Xcode :
Это большое изменение, так как всегда было довольно странно, что право на aps-environment не требовало plist, в отличие от многих других.
Для тех из вас, кто не хочет просто вслепую нажимать «Исправить меня» и в настоящее время не имеет файла с правами, это просто файл plist, на который есть ссылка в настройках сборки вашего проекта в разделе «Права на подписание кода»
источник
После дня борьбы с Xcode 8 мы не могли понять, почему
aps-environment
разработка НЕ была добавлена в наши отладочные сборки. Он отсутствовал в разделе прав во встроенном приложении для тестирования отладки ... даже несмотря на то, что мы ВКЛЮЧИЛИ новые возможности и существовал файл прав. Проблема в том, что файл прав должен быть установлен для ЛЮБОГО SDK в настройках сборки Xcode для прав отладки.источник
Debug
ключа и установкой его дляDebug
>Any SDK
, поскольку последнее используется для переопределения значения для конкретного SDK.Я получил такое же письмо от Apple, используя XCode 7.3.1. Что я сделал для решения проблемы:
источник
Если вы используете фреймворки Firebase и не используете push-уведомления, есть два решения: 1. Просто смиритесь с сообщением «проблема», которое отправляется всей вашей команде каждый раз при загрузке двоичного файла. Приложение по-прежнему будет принято как отправка, пока вы на самом деле не используете уведомления, вы можете игнорировать предупреждение. или 2. сделайте это: https://stackoverflow.com/a/46802075/7529450 . Это удалит надоедливое уведомление по электронной почте, а также будет принято как отправка.
источник
Автоматическое управление подпиской было отключено для меня, я проверил, и у меня все работает нормально.
источник
Включено использование push-уведомлений Xcode 9.
Я попытался отключить / снова включить push-уведомление . (не сработало)
Я попытался отключить / снова включить Автоматическое управление подписью . (не сработало)
Оказывается, мне пришлось удалить и заново добавить свои профили подготовки. ( см. здесь, как это сделать ) Возможно, вам придется отключить / снова включить Автоматическое управление подписью после опеки.
источник
Для меня проблема заключалась в том, что было два файла с правами:
Entitlements-Debug.plist
иEntitlements-Release.plist
. И только один из них (Debug) имеет необходимые настройки.Изменение нескольких значений параметров сборки> Подписание>
MyAppName/MyAppName.entitlements
Права на подписание кода на одно, а затем повторное включение возможностей> Push-уведомления мне.Надеюсь, поможет.
источник
Еще один сработавший вариант: копирование-вставка источника
AppName/Entitlements-Debug.plist
вAppName/Entitlements-Release.plist
.источник