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-уведомления на вкладке возможностей цели.
Это решило это для меня.