This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
内部配布ビルドを作成して共有する
ページを編集
内部配布ビルドとは何か、なぜ必要なのか、そしてどう作成するのかを学びます。
この章では、内部配布ビルド をセットアップする方法を学びます。

EAS で内部配布ビルドを作成し、テストのためにチームへ直接共有します。
内部配布ビルド
内部配布ビルドは、チームメンバーに更新を共有するのに最適です。技術者にも非技術者にも直接フィードバックをもらえます。開発ビルドとは違って開発サーバーを動かす必要がないため、テストの流れがシンプルになります。
アプリを内部で配布する方法
Google と Apple はどちらも、アプリを内部で共有する仕組みを標準で提供しています。
- Android: Google Play ベータを使う
- iOS: TestFlight を使う
ただし、これらの従来の方法にはそれぞれ制約があります。たとえば TestFlight では、一度にアクティブにできるビルドは 1 つだけです。
より速く配布するための EAS Build
EAS Build はこのプロセスを高速化します。ビルドの共有リンクを作成し、その使い方も案内してくれます。内部配布をしやすくするデフォルト設定を備えており、従来の方法よりも効率的な選択肢になります。
内部配布ビルドを作成する
EAS Build でビルドを作成して配布するには、次の手順に従います。
1
Preview ビルドプロファイルを設定する
eas.json の初期セットアップの時点で、内部配布向けに設計された preview ビルドプロファイルを含むデフォルト設定がすでにあります。
{ "build": { "preview": { "distribution": "internal" } } }
最初の内部配布ビルドを作るのに必要なのはこれだけです。上のスニペットの preview ビルドプロファイルには distribution プロパティがあり、値が internal になっています。この値によって、ビルドの URL を誰にでも共有でき、相手は自分のデバイスにインストールできます。アプリを動かすのに開発サーバーは必要ありません。
前の章で説明したとおり、アプリストア以外向けのビルドでは、Android は .apk、iOS は .ipa の形式が必要です。これは内部配布ビルドにも当てはまります。distribution を internal に設定すると、デバイス向けにこれらのファイル形式でアプリのバイナリが自動的に作成されます。
2
作成する
内部配布ビルドの作成には アプリの署名用認証情報 が必要です。
Android のアプリ署名は制約がゆるく、互換性のある .apk ファイルであればインストールできます。開発ビルドを作成したときに新しい Android Keystore が生成されているため、preview ビルド用に新しい keystore を生成する必要はありません。
一方 Apple は、iOS デバイスへのアプリ配布に対してより厳しいルールを設けています。アプリの実行を許可するデバイスを明示的に列挙した ad hoc プロビジョニングプロファイルが必要です。アプリが特定の要件を満たす組織であれば、Apple Developer Enterprise Program を使って、より広い範囲に内部配布できる場合もあります。
previewプロファイルを使って Android ビルドを開始します。
- eas build --platform android --profile preview- このコマンドが EAS Build を起動し、EAS ダッシュボードでビルドの進捗を確認できます。
ad hoc プロビジョニングプロファイルで署名されたアプリは、その UDID がプロファイルに登録されている iOS デバイスにインストールできます。
- デバイスを追加登録するには
eas device:createを使います。このコマンドは iOS デバイスを登録し、デバイス登録用に共有できる URL または QR コードを表示します。
- eas device:create-
このコマンドはアプリをインストールするための iOS デバイスを登録し、デバイス登録用の共有可能な URL(または QR コード)を生成します。
ヒント: このコマンドはいつでもデバイスを登録できます。ただし、新しく追加したデバイスで動作するのは、登録後に作成したビルドだけです。新規または更新直後の Apple Developer Program メンバーシップでは、登録したばかりのデバイスにすぐにはインストールできないことがあります。 Expo にデバイスを登録しても、Apple には登録されません。デバイスが Apple に追加されるのは、そのデバイスを含むビルドまたは再署名を初めて実行したときです。そうしたメンバーシップの場合、Apple がデバイスの処理を終えてプロビジョニングプロファイルに追加できるようになるまで 最大 24〜72 時間 かかることがあります。新しいデバイスを登録した直後にビルドが失敗した場合は、Apple の処理が終わるのを待ってからもう一度ビルドを実行してください。詳しくは デバイスの管理 を参照してください。 -
preview ビルドを作成するには、
eas buildコマンドでpreviewプロファイルを指定します。
- eas build --platform ios --profile preview- このコマンドが EAS Build を起動し、EAS ダッシュボードでビルドの進捗を確認できます。
eas build:resign を使ってデバイスを登録する別の方法
eas build:resign コマンドを使うと、既存の iOS .ipa を新しい ad hoc プロビジョニングプロファイルで再署名でき、ビルドをやり直す必要がなくなります。
エンタープライズプロビジョニングを設定しようとしていますか?
Apple Enterprise Program のメンバーシップは年間 299 米ドルで、すべての組織が対象になるわけではありません。そのため、通常の有料 Apple Developer アカウントで使える ad hoc プロビジョニングを利用することが多いでしょう。
Apple Developer Enterprise Program のメンバーシップ があれば、ユーザーは UDID を事前登録しなくてもアプリを自分のデバイスにインストールできます。デバイスにプロファイルをインストールするだけで、既存のビルドにアクセスできるようになります。正しいプロビジョニングを設定するには、eas build の実行中に Apple Developer Enterprise アカウントでサインインする必要があります。
エンタープライズプロビジョニングと App Store の両方でアプリを配布する場合は、それぞれに別のバンドル識別子が必要です。次のいずれかをおすすめします。
- Expo CLI で生成したプロジェクトでは、app.config.js で識別子を動的に切り替える。
- 既存の React Native プロジェクト では、バンドル識別子ごとに個別の
schemeを作成し、そのスキーム名をそれぞれのビルドプロファイルで指定する。
ローカルの認証情報を手動で管理していますか?
その場合は、Apple Developer Portal で生成した ad hoc またはエンタープライズのプロビジョニングプロファイルを credentials.json が指すようにしてください(別の配布方法で使っていた既存の credentials.json を更新するか、適切なプロビジョニングプロファイルを指す新しいものに差し替えます)。EAS CLI はローカルの認証情報を限定的にしか検証しないため、デバイスの UDID 登録は自分で行う必要があります。詳しくは ローカルの認証情報を使う を参照してください。
3
インストールする
ビルドが完了すると Build artifact セクションが更新され、ビルドの完了が示されます。このセクションには、iOS 実機で開発ビルドを実行するための手段として、Expo Orbit と Install ボタンが用意されています。
- ビルドの詳細ページを開きます。ビルドを他の人と共有する場合は、そのリンクを送ります。相手はビルドの詳細ページや、Expo Orbit を含むビルド成果物の詳細を開けます。
- Android または iOS のデバイスを USB でマシンに接続します。
- Orbit のメニューバーアプリを開きます。
- Orbit アプリで Device を選択します。
- Build artifact で Open with Orbit をクリックします。
4
まとめ
第 6 章:内部配布ビルドを作成して共有する
Android と iOS 向けの内部配布ビルドを作成し、iOS では ad hoc プロビジョニングを使い、同じデバイスに複数のアプリバリアントをインストールしました。
次の章では、開発者向けとユーザー向けのアプリバージョンについて、そしてそれらを自動で管理する方法を学びます。