Предупреждение о загрузке Apple TestFlight ITMS-90191: отсутствует разрешение "бета-отчеты-активные"
Когда я загружаю сборку в новый TestFlight, принадлежащий Apple и встроенный в iTunes Connect, я вижу следующий журнал:
ПРЕДУПРЕЖДЕНИЕ ITMS-90191: "Отсутствует право на бета-версию. Ваше приложение не включает в себя право на активацию бета-отчетов. Если вы собираетесь распространять эту сборку через TestFlight для бета-тестирования, пожалуйста, пересоберите это приложение с новым сгенерированным профилем обеспечения".
Когда я смотрю на сборку в iTunes Connect, я также вижу следующее предупреждение:
Чтобы использовать TestFlight Beta Testing, сборка XYZ должна содержать правильное право бета-тестирования. Для получения дополнительной информации см. FAQ.
Связанный FAQ гласит:
Что мне делать, если моя пререлизная сборка не содержит правильных бета-прав?
Чтобы использовать приложение TestFlight для тестирования предварительной версии, оно должно быть подписано с помощью профиля обеспечения распространения в App Store, который включает право на бета-версию. Новые профили обеспечения распространения, созданные в Центре разработчиков iOS, будут автоматически содержать бета-версию.
Если у вас есть существующий профиль обеспечения распространения, созданный перед запуском бета-тестирования TestFlight, необходимо заново создать профиль.
Проблема в том, что я использую недавно созданный профиль обеспечения распространения App Store. Я создал это так:
Когда я проверяю источник загруженного профиля обеспечения, я вижу:
<key>Entitlements</key>
<dict>
// ...
<key>aps-environment</key>
<string>production</string>
<key>beta-reports-active</key>
<true/>
// ...
Таким образом, профиль обеспечения установлен для production
и содержит beta-reports-active
право.
Тем не менее, iTunes Connect продолжает жаловаться, когда эта сборка загружается в TestFlight.
Есть идеи, как решить эту проблему? Это ошибка Apple?
rdar: // 20128048
7 ответов
Во-первых, убедитесь, что вы используете профиль обеспечения распространения App Store. Скорее всего, это профиль обеспечения, отличный от профиля предоставления специального распределения, который вы использовали для подписания сборок до тестирования Apple TestFlight.
Я продолжал нажимать Ошибка ITMS-90191 после того, как я переключился на Профиль Обеспечения Распределения Магазина Приложения. Я исправил проблему, добавив beta-reports-active
ключ к моей цели Entitlements.plist
файл в проекте Xcode.
beta-reports-active
ключ должен быть включен в профиль обеспечения и права цели.
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
предупреждение:
Я смог это исправить, добавив это в мой скрипт xcodebuild.
xcodebuild ... PROVISIONING_PROFILE=<Provisioning Profile Id>
Похоже, что установка идентификаторов подписи кода в настройках сборки также может решить эту проблему.
Редактирование файла plist вручную не помогло мне.
Редактирование существующего профиля и создание файла также НЕ работали на этот раз.
Но, как и в случае с joehl, создание НОВОГО профиля обеспечения фактически исправило это для меня. Итак, создайте новый профиль обеспечения, и вы вернетесь в бизнес. Это похоже на сбой в TestFlight.
Я отредактировал мой entitlements.plist
с помощью следующей команды:
/usr/libexec/PlistBuddy -c "Add :beta-reports-active bool true" entitlements.plist
Использование профиля обеспечения AppStore решило эту проблему для меня. Мне удалось успешно распространить и установить на устройства. Я использовал профиль обеспечения AdHoc как обычно, и внезапно я начал получать эту ошибку. Разочарование действительно.
Простое решение: удалите свой предыдущий профиль обеспечения и создайте новый. решает мою проблему.:)
Если вы используете Fastlane, убедитесь, что для ad-hoc установлено значение false для sigh
шаг, в противном случае он создаст специальный профиль, который не подходит для распространения TestFlight. то есть:
sigh(
adhoc: false,
team_id: "XXXXXXXXX"
)
Я только что успешно отправил новую версию приложения в TestFlight и после того, как Apple принял мою заявку, понял, что в моем Entitlements.plist нет активных бета-отчетов.
В моей предыдущей версии для TestFlight моя заявка была бы отклонена из-за "Отсутствует права на бета-тестирование"
Кто-нибудь еще заметил, что для TestFlight больше не требуется beta-reports-active?