Ad Hoc Distributionは、App Storeに公開せずに限られた数のデバイスでテストするためのiOSアプリケーション配布方法です。各デバイスはApple Developer Portalに一意のUDIDで登録する必要があり、アカウントあたり最大100台までです。Apple Developer Documentation(2025)によると、この方法はベータテストやApp Storeの審査を必要としないクライアントへのアプリケーションのデモに使用されます。主な制限は物理デバイスへの紐付けであり、テストの拡張を困難にします。
重要ポイント
Ad Hoc Distributionは、すべてのApple Developer Programメンバー($99/年)が利用できるiOSアプリケーション配布方法です。App Storeの審査を経由せずにデバイスに直接アプリをインストールできます。主な目的はリリース前のテストです。開発者、テスター、クライアントは公式リリース前に自分のデバイスにアプリをインストールできます。
Ad Hoc Distributionは、許可されたデバイスのUDIDリストを含むProvisioning Profileを使用します。アプリに署名する際、XcodeまたはFastlaneはIPAファイルを作成し、このリストのデバイスにのみインストールできます。各UDIDはApple Developer Portalを通じて追加され、開発者アカウントあたり合計100台を超えることはできません。
Apple(2025)によると、Ad Hoc DistributionはアプリがまだApp Storeの審査を通過していないが、クライアントに表示したり実際のデバイスでテストしたりする必要がある場合のリリース前テストに引き続き需要があります。ただし、Appleは大規模なベータテストにはTestFlightの使用を推奨しており、Ad Hocは小規模グループや特別なケースに残しています。
Ad Hoc配布は、OTA(Over-The-Air)インストールまたはiTunes/Finderを介して機能します。開発者は選択したUDIDでAd Hoc Provisioning Profileを作成し、このプロファイルでアプリに署名し、IPAファイルをエクスポートします。ユーザーはSafariのリンクから、またはmacOSのFinderを介してアプリをインストールします。
技術的には、Ad Hoc配布にはいくつかの段階が含まれます。最初に、管理者がテストデバイスのUDIDを収集します。各UDIDはiOSデバイスの一意の40文字の識別子です。次に、UDIDがApple Developer Portalに追加され、Provisioning Profileが作成され、署名済みIPAが生成されます。有効期限はAd Hocプロファイルで1年で、その後アプリは開かなくなります。
# Fastlane — Ad Hoc配布を自動化
lane :adhoc do
match(type: "adhoc")
gym(scheme: "MyApp",
export_method: "ad-hoc")
pilot(
distribute_only: true,
devices_file: "./devices.txt"
)
end
Ad Hocアプリをインストールするには、ユーザーはデバイスで開発者の証明書を信頼する必要があります。iOSの設定で「一般」→「VPNとデバイス管理」→「プロファイル」に進み、「信頼」をタップします。この手順がないと、アプリは起動しません。
UDID(Unique Device Identifier)は、各iOSデバイスの一意の識別子です。Ad Hoc配布では、すべてのテストデバイスのUDIDを収集し、Apple Developer Portalに追加する必要があります。最大は開発者アカウントあたり年間100台です。この制限は、アプリごとではなく開発者のすべてのアプリに適用されます。
| UDID取得方法 | 難易度 | 備考 |
|---|---|---|
| Safari経由 | 低 | 構成プロファイルをインストールしてUDIDを抽出 |
| Xcode経由 | 中 | デバイスをMacに接続し、XcodeからUDIDをコピー |
| MDM経由 | 高 | MDMソリューションで社内デバイスのUDIDを収集可能 |
| iTunes経由 | 中 | レガシー方式 — iTunesは新しいmacOSではサポートされていません |
100台の制限は暦年の終わりにリセットされます — リセットは1月1日に行われます。ただし、Appleは大規模なテストには最大10,000人の外部テスターをサポートするTestFlightの使用を推奨しています。Ad Hoc Distributionは2022年以降、アプリがまだBeta App Reviewを通過していない場合や、テストに元のIPAファイルへのアクセスが必要な場合に関連性を維持しています。
設定はApple Developer PortalとXcodeを介して行います。プロセスには、デバイスの登録、Provisioning Profileの作成、アプリへの署名、配布用のIPAのエクスポートが含まれます。チーム開発では、FastlaneまたはCI/CDによる自動化の使用をお勧めします。
プロセスを簡素化するために、配布サービスを使用します:Firebase App Distribution、Microsoft App Center、BuddyBuildなど。これらのサービスはUDIDを自動的に管理し、Ad Hocプロファイルを作成し、テスターに招待を送信します。Firebase App DistributionはGradleまたはFastlaneを介してCI/CDパイプラインとも統合されます。
重要なニュアンス — UDIDの更新。プロファイルに新しいデバイスを追加する必要がある場合、Provisioning Profileを再作成し、アプリに再署名する必要があります。すでにアプリをインストールしたデバイスは、プロファイルの有効期限(1年)まで引き続き使用できます。その後は、新しいプロファイルでの再インストールが必要です。
Ad Hoc Distributionは、App StoreなしでiOSアプリを配布する3つの方法のうちの1つに過ぎません。TestFlight(無料、最大10,000人の外部テスター)およびEnterprise Distribution(デバイス制限なし、エンタープライズアプリ向け)は、異なる制限と要件で関連するタスクを解決します。
TestFlightはAppleがベータテストに推奨する方法です。UDIDの収集は不要で、最大100人の内部テスターと10,000人の外部テスターをサポートし、バージョンを自動的に管理し、インストール分析を提供します。ただし、TestFlightでは外部テスター向けにBeta App Reviewを通過する必要があり、これには1〜2日かかる場合があります。Ad Hoc Distributionには審査はまったく必要ありません。
Enterprise Distributionはエンタープライズアプリに適しており、デバイス数の制限はありませんが、D-U-N-S番号を使用したApple Developer Enterprise Program($299/年)への登録が必要です。Ad Hocは標準プログラム($99/年)のすべてのメンバーが利用でき、会社の法的確認は不要です。小規模なチームやプロジェクトにとって、Ad HocはApp Storeなしでの配布の最も簡単な方法であり続けています。
よくある質問
Ad Hoc Distributionの最大デバイス数は、Apple開発者アカウントあたり100台です。制限はアプリごとではなく、開発者のすべてのアプリで共有されます。リセットは毎年1月1日に行われます。より多くのデバイスでテストするには、TestFlightまたはEnterprise Distribution(エンタープライズアプリ向け)を使用してください。
デバイスのUDIDは、udid.ioやinstall.appcenter.msなどのWebサービスを介して取得できます。ユーザーがiOSのSafariでリンクを開き、構成プロファイルをインストールすると、UDIDが画面に表示されます。または、デバイスをMacに接続した際にXcodeからUDIDをコピーすることもできます:Window → Devices and Simulators → Identifier。
いいえ、Ad Hoc Distributionはテスト専用です。App Storeで公開するには、App Store Distribution Profileを作成し、適切にアプリに署名する必要があります。Ad HocプロファイルはApp Store Connectの検証に合格しません。App Storeに提出する前に、XcodeまたはFastlaneでexport methodをapp-storeに切り替えてください。
Ad Hocアプリが開かない場合は、以下を確認してください:デバイスで開発者証明書が信頼されているか(設定 → 一般 → VPNとデバイス管理)、Provisioning Profileが期限切れでないか、デバイスのUDIDがプロファイルに追加されているか、アプリが正しい証明書で署名されているか。問題が解決しない場合は、アプリを削除して更新されたプロファイルで再インストールしてください。
Development Profileは、接続されたデバイスでXcodeから直接アプリを実行するためのものです。Ad Hoc Profileは、Xcodeなしでデバイスにインストール可能なIPAファイルを配布するためのものです。主な違い:DevelopmentはXcodeへの接続が必要ですが、Ad HocはSafariまたはFinderを介したOTAインストールを使用します。両方とも100台に制限されています。
まとめ
ターンキー方式のモバイルアプリケーションを開発します
IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。