EAS Buildでのパッケージ化と両プラットフォームへのリリース

Expo Goで楽しく遊び、すべてのコードを書き終えた後、このアプリをApp Store(Apple)とGoogle Play(Android)に公開できる正式版にするにはどうすればよいでしょうか?

以前は、これは初心者が諦めるほど難しい暗黒の旅でした。

  • iOSをビルドするには、Macコンピュータが「必須」で、Xcode内の複雑な証明書(Certificates)とプロビジョニングプロファイル(Provisioning Profiles)を理解する必要がありました。
  • Androidをビルドするには、巨大なAndroid Studioをインストールし、Gradleキーを設定する必要がありました。

今では、**EAS(Expo Application Services)**によってすべてが変わりました! EASはExpoが提供するクラウドビルドサービスです。あなたのコードをクラウド上のMacとLinuxサーバーに送り、すべての証明書問題を自動的に処理し、最終的にビルドされた.ipa(iOS)と.aab(Android)ファイルを直接返してくれます。さらに、ストアにアップロードして審査に提出することさえできます!

1. 事前準備:開発者アカウントの登録

リリース前に、これは避けられない「通行料」です。

  • Apple Developer Program:年間約99米ドル。申請プロセスには身分確認が必要で、約3〜7日かかります。
  • Google Play Developer Console:一度限りの終身25米ドル。

アカウントを登録し、バックエンドにログインする権限があることを確認してください。

2. EAS CLIのインストールと設定

ターミナルでEASのコマンドラインツールをグローバルにインストールします:

npm install -g eas-cli

次に、Expoアカウントでログインします(ない場合はexpo.devで無料登録してください):

eas login

プロジェクトディレクトリでEAS設定ファイルを初期化します:

eas build:configure

このコマンドは、プロジェクトのルートディレクトリにeas.jsonファイルを生成します。ここには、development(テスト用)、preview(内部チームテスト用)、production(リリース用正式版)などのビルドプロファイル(Profile)が定義されています。

3. app.jsonの設定(アプリの身分証明書)

ビルド前に、プロジェクトルートのapp.jsonでアプリの公開情報を設定する必要があります:

{
  "expo": {
    "name": "Vibe Tutor App",
    "slug": "vibe-tutor",
    "version": "1.0.0",
    "orientation": "portrait", // 縦向きに固定
    "icon": "./assets/icon.png", // 1024x1024 高画質アイコン
    "splash": {
      "image": "./assets/splash.png", // スプラッシュ画面画像
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "ios": {
      "bundleIdentifier": "com.yourcompany.vibetutor", // 全世界で一意のID(極めて重要)
      "buildNumber": "1.0.0"
    },
    "android": {
      "package": "com.yourcompany.vibetutor", // 全世界で一意のID(極めて重要)
      "versionCode": 1,
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#ffffff"
      }
    }
  }
}

4. クラウドビルドの開始(EAS Build)

魔法の時間です!XcodeやAndroid Studioを開く必要はありません。

Androidのビルド(.aab)

ターミナルで次のコマンドを入力:

eas build --platform android --profile production

EASはKeystore(署名キー)を生成するかどうかを尋ねます。Yesを選択してください(Expoに管理させることが最も安全です)。 その後、プロジェクトがアップロードされ、URLが提供されます。そのURLにアクセスして、クラウドサーバーがビルドする様子を見ることができます。約10分後、Google Playにアップロードできる.aabファイルをダウンロードできます!

iOSのビルド(.ipa)

ターミナルで次のコマンドを入力:

eas build --platform ios --profile production

この時、EASはApple IDとパスワードの入力を要求します。 心配ありません。これはApple開発者センターにバックグラウンドで接続し、証明書(Certificates)を自動生成して設定するためです。Y(Yes)を選択して証明書の管理を任せてください。

[!WARNING] iOS実機テストの難点 Appleは非常に厳格です。.ipaファイルをビルドした場合、AndroidのようにUSBケーブルで直接スマホにインストールすることはできません。 開発者バックエンドであなたのiPhoneのUDID(デバイスシリアル番号)を登録し、developmentまたはpreviewバージョンをビルドする必要があります。一般ユーザーがインストールできるようにするには、App Storeにリリースするしかありません。

5. ワンクリックリリース(EAS Submit)

ウェブページを開いてファイルをアップロードするのも面倒なら、Expoはさらに神がかったコマンドeas submitを提供しています。

ビルドが完了したら、次のコマンドを入力:

# 最新のAndroidビルドをGoogle Playバックエンドに自動アップロード
eas submit -p android

# 最新のiOSビルドをApp Store Connect(TestFlight)に自動アップロード
eas submit -p ios

アップロードが成功したら、Apple/Googleの開発者バックエンドにログインし、リリースに必要なマーケティング資料、スクリーンショット、プライバシーポリシーを記入します。

審査の大魔王

審査を提出すると:

  • Google Play:約2〜7日。比較的寛容です。
  • App Store:約1〜3日。非常に厳格です!アプリがクラッシュする、レイアウトが崩れる、権限を要求するのにapp.jsonで理由を明確に記述していない場合、必ず却下されます。却下されても落胆せず、Apple審査員のフィードバックをよく読み、修正して再提出してください。

🎉 偉業を達成しました! ネイティブアプリ開発を知らないウェブエンジニアから、両プラットフォームのストアに製品をリリースできるようになりました。これがクロスプラットフォーム技術とExpoが与えてくれる超能力です。さあ、最初のアプリを宣伝しましょう!

完全なチュートリアルをロック解除

このチャプターは有料コンテンツです。プロジェクトに参加して、10以上の神レベルのPromptや実際のソースコード例を含む、5000字以上の深い分析をロック解除してください!