Предупреждение о загрузке Apple TestFlight ITMS-90191: отсутствует доступ к `beta-reports-active`
Когда я загружаю сборку в новую принадлежащую Apple и интегрированную с iTunes Connect TestFlight, я вижу следующий журнал:
ПРЕДУПРЕЖДЕНИЕ ITMS-90191: "Отсутствие права на бета-версию. Приложение не включает бета-отчеты-активное право. Если вы планируете распространять эту сборку через TestFlight для бета-тестирования, пожалуйста, заново создайте это приложение с недавно созданным обеспечением профиль".
Когда я смотрю сборку на iTunes Connect, я также вижу следующее предупреждение:
![To use TestFlight Beta Testing, build X.Y.Z must contain the correct beta entitlement. For more information, see the FAQ.]()
Чтобы использовать тестовое тестирование TestFlight, постройте X.Y.Z, чтобы он содержал правильное бета-право. Для получения дополнительной информации см. Часто задаваемые вопросы.
Связанный FAQ:
Что делать, если моя предварительная сборка не содержит правильного бета-разрешения?
Чтобы использовать приложение TestFlight для тестирования своей предварительной публикации, он должен быть подписан с профилем Provisioning Distribution App Store, который включает бета-право. Новые профили распределения распределения, созданные в Центре разработчиков iOS, автоматически будут содержать бета-право.
Если у вас есть существующий профиль распределения, который был создан до запуска TestFlight Beta Testing, вы должны восстановить его.
Проблема заключается в том, что я использую недавно созданный профиль распределения дистрибутива App Store. Я создал его так:
![App Store Distribution Provisioning Profile]()
Когда я проверяю источник загруженного профиля Provisioning Profile, я вижу:
<key>Entitlements</key>
<dict>
// ...
<key>aps-environment</key>
<string>production</string>
<key>beta-reports-active</key>
<true/>
// ...
Итак, профиль Provisioning Profile установлен для production
, а имеет..
Однако iTunes Connect продолжает жаловаться, когда эта сборка загружается в TestFlight.
Любые идеи по устранению этой проблемы? Является ли это ошибкой Apple?
rdar://20128048
Ответы
Ответ 1
Во-первых, убедитесь, что вы используете профиль Профиль распространения дистрибутива App Store. Это, скорее всего, профиль другой, из профиля профиля распределения специальных хостов, который вы использовали для подписи до Apple TestFlight.
Я продолжал удалять Error ITMS-90191 после того, как переключился на профиль распределения дистрибутива App Store. Я исправил проблему, добавив ключ beta-reports-active
к моему целевому файлу Entitlements.plist
в проекте Xcode.
Ключ beta-reports-active
должен быть включен в профиль Provisioning Profile И права пользователя.
TargetName.entitlements
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
// ...
<key>beta-reports-active</key>
<true/>
// ...
</dict>
</plist>
После добавления права на мою цель я могу успешно загрузить сборку в iTunes Connect TestFlight без предупреждения ITMS-90191
:
![enter image description here]()
Ответ 2
Вручную редактирование файла plist не сделал это для меня.
Редактирование существующего профиля и создание файла также НЕ работало в этот раз.
Но, как и для joehl, создание профиля NEW Provision действительно фиксировало его для меня. Итак, создайте новый профиль Provision Profile, и вы вернетесь в бизнес. Это похоже на сбой в TestFlight.
Ответ 3
Использование профиля подготовки AppStore разрешило это для меня. Мне удалось успешно распространять и устанавливать на устройства. Как обычно, я использовал профиль подготовки AdHoc, и вдруг я начал получать эту ошибку. Разочарование действительно.
Ответ 4
Я смог исправить это, добавив это в мой xcodebuild script.
xcodebuild ... PROVISIONING_PROFILE=<Provisioning Profile Id>
Похоже, что установка Идентификатор кодового знака в Настройки сборки вручную также может устранить эту проблему.
Ответ 5
Простое решение: удалите предыдущий профиль обеспечения и создайте новый. решает мою проблему.:)
Ответ 6
Если вы используете Fastlane, убедитесь, что для шага sigh
установите ad-hoc на false, иначе он будет генерировать специальный профиль, который не подходит для распространения TestFlight. то есть:.
sigh(
adhoc: false,
team_id: "XXXXXXXXX"
)