web-dev-qa-db-ja.com

Apple TestFlightアップロード警告ITMS-90191: `beta-reports-active`エンタイトルメントがありません

ビルドを新しいApple所有およびiTunes Connect統合TestFlightにアップロードすると、次のログが表示されます。

警告ITMS-90191:「ベータエンタイトルメントがありません。アプリにbeta-reports-activeエンタイトルメントが含まれていません。ベータテスト用にこのビルドを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 Beta Testingを使用するには、ビルドX.Y.Zに正しいベータ資格が含まれている必要があります。詳細については、FAQを参照してください。

リンクされたFAQ=状態:

プレリリースビルドに正しいベータ資格が含まれていない場合はどうすればよいですか?

TestFlightアプリを使用してプレリリースビルドをテストするには、ベータ版の資格を含むApp Store Distribution Provisioningプロファイルで署名する必要があります。 iOS Developer Centerで生成された新しい配布プロビジョニングプロファイルには、ベータ版の資格が自動的に含まれます。

TestFlight Beta Testingの起動前に生成された既存のディストリビューションプロビジョニングプロファイルがある場合、プロファイルを再生成する必要があります。

問題は、新しく作成されたApp Store Distribution Provisioning Profileを使用するIamです。私はそれを次のように作成しました:

App Store Distribution Provisioning Profile

ダウンロードしたプロビジョニングプロファイルのソースを調べると、次のように表示されます。

<key>Entitlements</key>
<dict>
    // ...
    <key>aps-environment</key>
    <string>production</string>
    <key>beta-reports-active</key>
    <true/>
    // ...

したがって、プロビジョニングプロファイルはproductionに設定され、doesにはbeta-reports-active資格。

ただし、このビルドがTestFlightにアップロードされると、iTunes Connectは引き続き文句を言います。

この問題を修正する方法についてのアイデアはありますか?これはAppleバグですか?

rdar:// 20128048

21
pkamb

まず、App Store Distribution Provisioning Profileを使用していることを確認してください。これはおそらく、Apple TestFlight以前のビルドに署名するために使用していたアドホックディストリビューションプロビジョニングプロファイルのdifferentプロビジョニングプロファイルです。

エラーITMS-90191afterをヒットし続けましたApp Store Distribution Provisioning Profileに切り替えました。 Xcodeプロジェクトのターゲットのbeta-reports-activeファイルにEntitlements.plistキーを追加して問題を修正しました。

beta-reports-activeキーはプロビジョニングプロファイルに含める必要があります[〜#〜] and [〜#〜]ターゲットの資格。

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>

ターゲットに資格を追加した後、ITMS-90191警告なしでビルドをiTunes Connect TestFlightに正常にアップロードできます。

enter image description here

22
pkamb

AppStoreプロビジョニングプロファイルを使用してこれを解決しました。デバイス上で正常に配布およびインストールできました。通常どおりAdHocプロビジョニングプロファイルを使用していて、突然このエラーが発生し始めました。本当にイライラするもの。

2
xissburg

Plistファイルを手動で編集してもうまくいきませんでした。
既存のプロファイルの編集とファイルの生成も今回は機能しませんでした。
しかし、joehlと同じように、新しいプロビジョニングプロファイルを作成すると、実際に修正されました。したがって、まったく新しいプロビジョンプロファイルを作成すれば、ビジネスに戻ることができます。これはTestFlightの不具合のように見えます。

2
John Minne

これをxcodebuildスクリプトに追加することで修正できました。

xcodebuild ... PROVISIONING_PROFILE=<Provisioning Profile Id>

コードサインID in ビルド設定を設定すると、この問題も手動で修正できるように見えます。

2
dlobanov

簡単な解決策:以前のプロビジョニングプロファイルを削除し、新しいプロファイルを作成します。私の問題を解決します。 :)

1
Usman Nisar

次のコマンドでentitlements.plistを編集しました:/usr/libexec/PlistBuddy -c "Add :beta-reports-active bool true" entitlements.plist

1
Heath Borders

Fastlaneを使用している場合は、sighステップでad-hocをfalseに設定してください。そうしないと、TestFlight配布に適さないad-hocプロファイルが生成されます。すなわち:

sigh(
  adhoc: false,
  team_id: "XXXXXXXXX"
)
1
Ben Thomas