web-dev-qa-db-ja.com

アプリストアディストリビューションビルドをデバイスに直接インストールできるのはなぜですか?

(実際のApp Storeを経由せずに)テストデバイスに直接AppStoreディストリビューションビルドをインストールすることは不可能であるという印象を受けました。 Appleによる次のメモへの複数の参照が見つかりました(ただし、iOSアプリ配布ガイドの現在のバージョンではメモ自体は見つかりませんでした):

"App Storeプロビジョニングプロファイルでは、ディストリビューションで構築されたアプリケーションをAppleデバイスにインストールすることはできません。ディストリビューション対応アプリケーションをデバイスにインストールするには、アドホックプロビジョニングプロファイルを作成する必要があります。 "

ここで、次のことを考慮してください。アドホック配布プロビジョニングプロファイルとAppStore配布プロビジョニングプロファイルがあります。アドホックプロファイルにはプロビジョニングされたデバイスのリストが含まれていますが、アプリストアプロファイルには含まれていません。私の(ジェイルブレーキなしの)デバイスは、アドホックプロファイルのプロビジョニングされたデバイスに含まれています。私のビルドは、アプリストアプロファイルで署名されました。結果の.ipaファイルはApp Storeに送信されました(そして承認されました-しかしまだ公開されていません)。 .ipaファイルのパッケージの内容を表示すると、embedded.mobileprovisionが実際にアプリストアプロファイルであることがわかります(プロビジョニングされたデバイスリストはありません)。このプロファイルをXcodeオーガナイザーにドラッグすると、デバイスがプロファイルに含まれていないため、プロファイルをインストールできないというエラーが表示されます(予想どおり)。ただし、.ipaファイルをXcodeオーガナイザーにドラッグすると、アプリはデバイスにインストールされます(後でデバイスで開くことができます)。同じアプリの他のコピーがデバイスにインストールされていないことを確認した後、これを試しました。アドホックプロファイルのプロビジョニングされたデバイスに含まれていない別のデバイスを使用すると、同じことが機能しません(.ipaにプロビジョニングされたデバイスリストのないアプリストアプロファイルが含まれている場合でも)。

誰かがこれについて考えられる説明がありますか?どういうわけか、アプリストアプロファイルで署名されたビルドは、対応する(同じアプリ識別子?同じチーム識別子?)アドホックプロファイルに含まれるデバイスにインストールできるようです。しかし、これが当てはまる場合、個別のアドホックビルドを作成する意味は何ですか?

15
hverlind

私もこれに気づき、なぜそれが機能したのかを常に知ることを意図していました。 App Storeビルドをインストールできなかったのは事実使用ですが、iOS6または5のいずれかで変更されたようです。

互換性のあるアドホックプロファイルがすでにインストールされている場合にのみ、AppStoreプロビジョニングプロファイルビルドをインストールできることがわかりました。開発者プロファイルが機能しませんでした。ワイルドカードプロファイルは試しませんでした。したがって、アドホックルールが変更されたように見えます。

アドホックビルドをインストールするためのルールが見つかりませんが、起動のトピックについて Appleのアプリ配布)の「アドホックプロビジョニングプロファイルの詳細」セクションガイド と言う

アプリのバンドルIDがアプリIDと一致し、署名が配布証明書と一致し、デバイスがのデバイスリストに含まれている場合、アプリは正常に起動します。 アドホックプロビジョニングプロファイル。

したがって、AppStoreビルドも同じ配布証明書で署名されているため、技術的にはこれらのアドホック要件を満たしていると思います。ここで「the」を使用すると、iOSがembedded.mobileprovisionを参照しているように聞こえるので、誤解を招く可能性がありますが、これは誤りです。 「an」アドホックプロファイルを読み取る必要があります。

[〜#〜] nb [〜#〜]:インストールは、アドホックプロファイルがデバイスに既にインストールされている場合にのみ機能するため、これが1つの理由です。個別のアドホックビルドを作成します。

[〜#〜] nb [〜#〜]:これはすべて推測です。別の説明として、Xcodeがembedded.mobileprovisionのインストールを処理し、現在も続行している可能性があります。 AppStoreプロファイルのインストールが失敗したとき。

これは私に別の質問を提起します:完全に有効な代替品がインストールされているのに、なぜiOS DWIM for AppStoreビルドが期限切れのプロビジョニングプロファイルでアドホックビルドを起動することを拒否するのですか?

7