Xcode 8: aps-среда отсутствует в архивированном приложении

Я недавно обновился до Xcode 8. Во время разработки мне не удалось получить токен устройства. Расследование показало, что мне нужно было включить Push-уведомления в "Target -> Capabilities". Как только я это сделал, я смог нормально регистрироваться и получать уведомления во время разработки.

Теперь я готов отправить приложение в магазин приложений. Я создал архив и загрузил его в iTunes connect, но получил электронное письмо с указанием:

Отсутствует право на push-уведомление. Похоже, что ваше приложение регистрируется в службе Apple Push-уведомления, но права на подпись приложения не включают право на "aps-environment".

Я вернулся в архив и не смог найти aps-среду в списке прав. Тогда имеет смысл, почему я получил письмо. Я уже несколько часов пытаюсь получить архивную (производственную) сборку, включающую право aps-environment, но у меня не получилось.

  • В моем AppID включены Push-уведомления для разработки и производства
  • Push-уведомления по-прежнему остаются включенными в Target -> Capabilities. Сгенерированный файл с правами имеет среду разработки. Однако я прочитал, что во время архивации / загрузки в iTunes среда автоматически переключается на производство. Я упрямо поменял его вручную на производство, но это не имело никакого значения.
    • Я решил использовать TestFlight для проверки загруженной сборки и подтверждаю, что уведомления не работают.

Мое приложение работало хорошо при сборке с Xcode 7. Это обновление до Xcode сломало это, и я не смог преодолеть этот горб. Любая помощь будет оценена.

Ниже точно моя проблема, но у меня недостаточно очков репутации, чтобы добавлять комментарии, чтобы оживить обсуждение, поэтому я публикую новый вопрос. Я не возражаю, если это будет помечено как дубликат, если я могу найти решение. Xcode 8 говорит, что профиль обеспечения имеет права aps-среды, но после экспорта отсутствует aps-среда архива

2 ответа

Проверьте, что файл platforms/ios/APP_NAME/Entitlemens-Release.plist такой же как platforms/ios/APP_NAME/Entitlemens-Debug.plist

параметр aps-environment должен отображаться в обоих: в вашем platforms/ios/APP_NAME/Entitlemens-Release.plistэто должно было быть производство

И в platforms/ios/APP_NAME/Entitlemens-Debug.plist - разработка

Попробуйте включить Push-уведомления на вкладке возможностей цели.

Это решило это для меня.

Другие вопросы по тегам