Предупреждение о загрузке Apple TestFlight ITMS-90191: отсутствует разрешение "бета-отчеты-активные"

Когда я загружаю сборку в новый TestFlight, принадлежащий Apple и встроенный в iTunes Connect, я вижу следующий журнал:

ПРЕДУПРЕЖДЕНИЕ ITMS-90191: "Отсутствует право на бета-версию. Ваше приложение не включает в себя право на активацию бета-отчетов. Если вы собираетесь распространять эту сборку через TestFlight для бета-тестирования, пожалуйста, пересоберите это приложение с новым сгенерированным профилем обеспечения".

Когда я смотрю на сборку в iTunes Connect, я также вижу следующее предупреждение:

Чтобы использовать TestFlight Beta Testing, сборка X.Y.Z должна содержать правильное право бета-тестирования. Для получения дополнительной информации см. FAQ

Чтобы использовать TestFlight Beta Testing, сборка XYZ должна содержать правильное право бета-тестирования. Для получения дополнительной информации см. FAQ.

Связанный FAQ гласит:

Что мне делать, если моя пререлизная сборка не содержит правильных бета-прав?

Чтобы использовать приложение TestFlight для тестирования предварительной версии, оно должно быть подписано с помощью профиля обеспечения распространения в App Store, который включает право на бета-версию. Новые профили обеспечения распространения, созданные в Центре разработчиков iOS, будут автоматически содержать бета-версию.

Если у вас есть существующий профиль обеспечения распространения, созданный перед запуском бета-тестирования TestFlight, необходимо заново создать профиль.

Проблема в том, что я использую недавно созданный профиль обеспечения распространения App Store. Я создал это так:

Профиль обеспечения распространения 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?

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