【Expo】EAS Buildのおすすめ設定方法

EAS Buildで「開発、テスト、リリース」をする時のする時のおすすめのeas.jsonの設定方法をシェアしていきます。まずは結論から。

eas.json
{
  "cli": {
    "version": ">= 3.9.2"
  },
  "build": {
    "development": {
      "developmentClient": true,
      "distribution": "internal",
      "channel": "development",
      "android": {
        "buildType": "apk"
      }
    },
    "development-simulator": {
      "developmentClient": true,
      "distribution": "internal",
      "ios": {
        "simulator": true
      },
      "channel": "development-simulator"
    },
    "preview": {
      "distribution": "internal",
      "channel": "preview"
    },
    "production": {
      "channel": "production"
    }
  },
  "submit": {
    "production": {
      "android": {
        "serviceAccountKeyPath": "./pc-api-****.json",
        "track": "internal"
      },
      "ios": {
        "appleId": "****@**.**",
        "ascAppId": "********"
      }
    }
  }
}

以下、細かくみていきましょう。

※serviceAccountKeyPath、appleId、ascAppIdの値は自分のものに置き換えてください。
※development、development-simulator、preview、productionの変数名は他の名前でも構いません。

シュミレーターで開発時の設定

eas.json
"development-simulator": {
  "developmentClient": true,
  "distribution": "internal",
  "ios": {
    "simulator": true
  },
  "channel": "development-simulator"
}

こちらはシュミレーターで開発する時に必要な設定です。

初めて開発する、または再ビルドが必要なパッケージをインストールした後に下記コマンドを打つ必要があります。(例、expo-images-pickerなどをインストールした後)

Terminal
eas build --profile development-simulator

ビルドには15~20分ほどかかります。ビルドが終わったら、「シュミレーターで起動しますか?」と問われるので、「Y」をクリックしましょう。

もしくは、Expoのダッシュボードにログインして、「対象のビルドをダウンロード→解凍→シュミレーターにドラックアンドドロップ」でもインストールできます。iOS、Android、どちらのシュミレーターでもインストールできます。

シュミレーターにアプリがインストールされた後は下記で、アプリが実行できます。

Terminal
yarn start

以後は、ソースを修正し、保存すると、リアルタイムでシュミレーターに結果が反映されます。毎回ビルドをする必要はないです。

eas.json
"ios": {
"simulator": true
},

また、上の設定を入れないと、iOSシュミレーターでは開発できなくなるので、忘れないようにしましょう。

実機での開発時の設定

eas.json
"development": {
  "developmentClient": true,
  "distribution": "internal",
  "channel": "development",
  "android": {
    "buildType": "apk"
  }
},

続いて、実機で開発するときの設定です。

上述した、シュミレーターの時と同じく、初回やビルドが必要なパッケージをインストール後に下記コマンドを実行します。

Terminal
eas build --profile development

これも15分ほど待つ必要があります。Android、iOS共に使えます。実行後は、ターミナルでYを押す。もしくは、端末で直接、Expoのダッシュボードにログインして、対象のビルドをインストールをしましょう。

実機にアプリがインストールされた後は下記で、実行できます。

Terminal
yarn start

これでソースコードの修正がリアルタイムで反映されます。

テスト

eas.json
"preview": {
  "distribution": "internal",
  "channel": "preview"
},

実装が終わり、リリース前に試験をするときに使います。

Terminal
eas build --profile preview

ビルドが完了したら、「実機での開発時の設定」と同じ手順で端末にインストールすることができます。

勘違いされる方が多いのですが、こちらのビルドをインストール後「yarn start」をする必要はないです。アプリを立ち上げるとそのまま動きます。なので、ソースコードを修正してもリアルタイムで反映されることはないです。ソースを修正した後は場合は、毎回ビルド&インストールが必要です。

リリース用のビルド

eas.json
"production": {
  "channel": "production"
}

本番にリリースする時です。下記を実行します。

Terminal
eas build --profile production

注意としては、上コマンドを打つ前に、app.jsonのexpo.ios.buildNumberとexpo.android.versionCodeの数字を増やしましょう。数字が同じものはアップできません。

ビルドの提出

eas.json
"submit": {
    "production": {
      "android": {
        "serviceAccountKeyPath": "./pc-api-******.json",
        "track": "internal"
      },
      "ios": {
        "appleId": "******@**.**",
        "ascAppId": "*********"
      }
    }
  }

serviceAccountKeyPath、appleId、ascAppIdは自分のものに書き換えてください。

ビルドが完成したら、下記を実行し、ビルドを提出しましょう。

Terminal
eas submit

まとめ

以上です。CI(Github Workflows)の方法は下記記事を参考してください。

Expo + EAS BuildのGithub Workflowsのソースコードを公開します

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です