Ad Hoc 配信

Ad Hoc を使う場面

Ad Hoc は TestFlight Beta App Review なしで、署名済みビルドを固定の登録端末にインストールします。少人数の内部テスト、顧客受入、オフラインデモ、全端末が事前に分かる緊急検証に適しています。

テスターが頻繁に変わる、集中更新やフィードバックが必要、UDID を収集できない場合は TestFlight を使います。恒久的な本番配信には非公開リスト、カスタム、公開 App Store を使ってください。

要件と制限

  • 有効な Apple Developer Program
  • MeDo Bundle ID と一致する明示的 App ID
  • Apple Distribution 証明書と秘密鍵
  • App ID、証明書、entitlement、対象端末 ID を含む Ad Hoc プロファイル
  • パッケージング前に登録済みの全対象 iPhone / iPad

Apple は製品ファミリーごとにメンバーシップ年度あたり 100 台まで登録できます。年度内に無効化しても枠は戻らず、新年度開始時にリセットできます。

MeDo で Ad Hoc を選択

Public Release / Invite Testing Build を開き、Install on Specific Devices (Ad Hoc) を選びます。IPA はプロファイルに含まれる端末だけで動作します。

Ad Hoc 配信方法

Apple 認証

未接続の場合、MeDo は App Store Connect API の Issuer IDKey ID.p8 秘密鍵を要求します。Apple の Individual API Key は provisioning endpoints にアクセスできないため、Team Key を使用してください。

Account Holder または Admin が App Store Connect → Users and Access → Integrations → App Store Connect API → Team Keys で作成できます。MeDo のフローが受け付ける最小限のロールを割り当ててください。Apple では .p8 を一度しかダウンロードできません。

.p8 をアップロードすると、Key のロールで許可された操作を MeDo に承認します。専用 Key を使用し、ダウンロードしたファイルを安全に保管し、漏えい時または不要になった時点で失効してください。認証に成功すると、Release prerequisites では Apple 認証が Completed、署名証明書が Ready と表示されます。

Apple 認証と署名証明書を確認 App Store Connect API Key を作成

端末を登録・確認

UDID が誤っていると対象端末にインストールできません。信頼できる Mac の Finder / Xcode で取得できます。Check installable devices ステップには Add DeviceManage DevicesRefresh があります。

  1. Refresh を選び、対象端末が Installable と表示されることを確認する。
  2. 見つからない場合は Add DeviceManage Devices、または Certificates, Identifiers & Profiles → Devices で登録する。
  3. 確定前に UDID と製品ファミリーを照合する。新規登録は Apple Developer アカウントの年間端末枠を 1 つ消費する。
  4. 前回のビルド後に端末または entitlement を追加した場合は、新しいプロファイルとパッケージを作成する。
  5. 対象端末が含まれることを確認してからパッケージングを開始する。

Ad Hoc インストール用の登録済み端末を確認

パッケージング

各 iOS パッケージングジョブは 500 Credits を消費します。価格は変わる可能性があるため、実行前に MeDo に表示される金額を確認してください。

Start Packaging を選びます。ステップ 4 には Packaging...、3–8 分の目安、結果を build records で確認できることが表示されます。実際の時間はキュー、署名、サービス状況で変わります。

パッケージングに成功すると、ステップ 5 は Packaging Complete に進み、インストール用 QR コード、Copy Installation LinkDownload IPACompleted が表示されます。

Ad Hoc パッケージングの進行中画面 完了した Ad Hoc パッケージとインストールオプション

インストール

Packaging Complete は、MeDo が署名済みパッケージを生成したことを示します。登録済みの対象端末で、インストールと起動を別途確認してください。

登録端末で MeDo のリンクまたは QR を使います。OTA の場合は Safari で開き、ダウンロードと検証が終わるまでオンラインにします。

MeDo が初回インストール時の開発者信頼に関する案内を表示する場合は、対象端末の指示に従ってください。通常の Ad Hoc ビルドは Apple Distribution 証明書で署名され、プロファイルで制限されます。Enterprise App ではないため、パッケージが実際に enterprise signing を使用している場合を除き、Apple の Enterprise App 向け手動信頼手順は適用しないでください。

2021 年 6 月 6 日以降に作成されたチームでは、development / Ad Hoc 署名 App の初回起動時に Apple PPQ サービスへの接続が必要な場合があります。https://ppq.apple.com を遮断すると検証できないことがあります。

トラブルシューティング

インストールできない

  • UDID がプロファイルと完全一致する。
  • プロファイルが有効で失効していない。
  • 証明書が有効で署名時に秘密鍵が利用できた。
  • Bundle ID / entitlement が App ID とプロファイルに一致する。
  • OS バージョンとアーキテクチャに対応する。
  • ダウンロードと manifest が有効な HTTPS で端末から到達できる。

インストール後に起動できない

  • Apple 証明書検証サービスへ接続できるか確認。
  • 端末ログで署名・entitlement エラーを確認。
  • capability 変更後にプロファイルを再生成。
  • 端末追加後は再パッケージング。既存 IPA には新端末は追加されません。

新しいテスターを追加

UDID を登録し、プロファイルと署名 IPA を作り直します。頻繁なら TestFlight 外部に移行してください。

セキュリティとライフサイクル

  • インストールリンクは対象テスターだけに共有。
  • 漏えいした API Key と証明書は直ちに失効。
  • テスト後に機密データを削除しテストアカウントを無効化。
  • 証明書、プロファイル、会籍、端末リストの更新日を管理。
  • Ad Hoc を恒久的な顧客配信として説明しない。

Apple 公式リファレンス