Xcode 8 "права приложения aps-environment отсутствуют в подписке приложения" на submit

У меня есть приложение, в которое мы отправили домены версий за последние 6 месяцев, и мы используем APNS. После обновления до Xcode 8 я получил следующее письмо от Apple:

Уважаемый разработчик,

Мы обнаружили одну или несколько проблем с вашей недавней доставкой для ИМЯ ПРИЛОЖЕНИЯ. Ваша доставка была успешно, но вы можете исправить следующие проблемы в своем следующая доставка:

Отсутствие права на уведомление о Push Push - ваше приложение включает в себя API для Apple Push Notification, но права доступа aps-environment отсутствует в подписи приложения. Чтобы решить эту проблему, Идентификатор приложения включен для push-уведомления в Provisioning Portal. Затем подпишите свое приложение с профилем предоставления распределения, который включает права aps-environment. Это создаст правильный подпись, и вы можете повторно отправить свое приложение. См. "Предоставление и Разработка" в руководстве по программированию локального и push-уведомления больше информации. Если ваше приложение не использует Apple Push Notification службы, никаких действий не требуется. Вы можете удалить API из будущего чтобы остановить это предупреждение. Если вы используете стороннюю структуру, вам может потребоваться связаться с разработчиком для получения информации об удалении API.

После устранения проблем вы можете использовать Xcode или Application Loader для загрузки нового двоичного файла в iTunes Connect.

Привет,

Команда App Store

Что странно, я пошел на developer.apple.com → Сертификаты, Идентификаторы и Профили, и у моего AppId все еще есть Push Notifications. Я не делаю ничего другого, чем когда-либо делал, поэтому мне интересно, если что-то изменило Xcode 8. Есть идеи?

BTW: ссылка, которую они поставили для руководства по программированию Push Notification, была повреждена в электронном письме, чтобы не было хорошего знака.

Ответ 1

Очень просто. По какой-то причине он отключился на Xcode 8, но перейдите в "Цели" → "Возможности" и проверьте, что Push Notifications верны в этом представлении. Для меня у меня был "Fix Me", который я должен был щелкнуть, и вуаля.

Ответ 2

У меня тоже такая же проблема, и я уверен, что Push-уведомление отключено по умолчанию в Xcode8. Я этого не заметил. Будьте осторожны.

возможность

Ответ 3

Из Xcode примечания к выпуску:

Xcode 8 автоматически не копирует права доступа aps-environment из профилей подготовки во время сборки. Такое поведение преднамеренно. Чтобы использовать это право, включите Push Notifications в панели "Редакторы проектов" или вручную добавьте право на свой файл прав. (28076333)

Это отличное изменение, поскольку всегда было довольно странно, что права aps-environment не требовали plist, но многие другие делали.

Для тех из вас, кто не хочет просто слепо нажимать "Fix Me" и в настоящее время нет файла прав, это всего лишь файл plist, на который ссылаются в вашем проекте "Настройки сборки" в разделе "Права на подпись кода"

Ответ 4

В Xcode 8 произошли изменения, в которых ваши права больше не выходят из идентификаторов приложений, а из возможностей, выбранных в целевом приложении. Итак, как сказал Unome (OP), вы должны подтвердить, что Push Notifications включена.

Для меня это была не кнопка "Исправить", но у меня было два файла права (один для разработки и один для распространения). Переключение функции Push Notifications добавит ключ aps-environment - со значением development - к файлу прав на разработку, но не добавит его в файл с правами на распространение. Копирование одного и того же ключа в дистрибутив работало, чтобы избавиться от предупреждающего сообщения при загрузке в iTunes Connect.

Для большинства проектов должно быть достаточно, чтобы переключаться на Push Notifications, или если он уже включен, но ключ не входит в права, попробуйте отключить его и снова включить.

Ответ 5

После дня борьбы с Xcode 8 мы не могли понять, почему разработка aps-environment не была добавлена ​​в наши сборки отладки. Он отсутствовал в разделе прав в встроенном приложении для тестирования отладки... хотя мы установили новый Capability и файл прав. Проблема заключается в том, что файл прав должен быть установлен для ЛЮБОГО SDK в настройках сборки Xcode для отладочных прав.

screenshot

Ответ 6

Автоматическое управление подпиской было отключено для меня

Автоматическое управление подпиской было отключено для меня, я проверил и работал нормально для меня.

Ответ 7

Я получил тот же адрес электронной почты от Apple, используя XCode 7.3.1. Я решил решить эту проблему:

  • В разделе "Возможности" > "Установить оповещение PUSH ON", как указано в ответе @Bruce Tsai.
  • В разделе "Настройки сборки" > "Подпись кода" > "Идентификация кода" задает сертификат разработчика для отладки и сертификат распространения для выпуска, как показано на изображении:

введите описание изображения здесь