2023年1月からexpo buildできないときの対処法 〜eas CLIをインストールしよう〜
スポンサーリンク

なぜexpo buildコマンドが使えなくなったのか?

詳しく知りたい方は下記のリンクからEXPO公式ホームページを御覧ください。

以下に一部抜粋し翻訳したものを掲載しております。

このドキュメントは 2022 年 8 月にアーカイブされたものであり、今後の更新はありません。SDK 46 はクラシック ビルドでサポートされる最後の SDK であり、クラシック ビルド サービスは 2023 年 1 月 4 日以降、すべての SDK バージョンで実行を停止します。代わりに、EAS ビルドを使用してください。

EXPO公式ホームページ

まあ要するに今までのは古くなったので動かないけど、ちゃんと新しいのを用意したから環境を整えてねってことです!

この記事は既にEXPOの開発環境が構築済みでexpo build出来なくなってしまった方向けになります。

0からの環境構築は解説しておりませんのでご注意ください。

スポンサーリンク

導入

EAS CLIのインストール

Expo でプロジェクトを初期化する必要があります。下記のコマンドでEAS CLI をグローバル npm 依存関係としてインストールします

npm install -g eas-cli

Expoアカウントにログインする

eas login

もしExpoアカウントにログインしていない場合には実行してください。ビルドを作成したり、作成したアプリをストアに送信するのに必要です。

すでログイン済みの場合はこの操作は不要です。

expo-dev-clientをインストールする

npx expo install expo-dev-client

EASビルド用にプロジェクトを構成する

EAS ビルド用に iOS または Android プロジェクトを構成するために、次のコマンドを実行します。

eas build:configure

自動でやるかを聞かれるので当然Yesを選びます。

Would you like to automatically create an EAS project for HOGEHOGE? > (Y/n)

すると以下のような選択肢が現れます。自分が開発しているプラットフォームを選びましょう!

ALL
iOS
Android
スポンサーリンク

iOSシミュレーター/Androidエミュレータのビルドを作成する

iOSシミュレータの場合

iOSシミュレータで開発ビルドを作成してインストールするには、eas.jsonでios.simulatorオプションをtrueに設定しましょう

{
  "build": {
    "development-simulator": {
      "developmentClient": true,
      "distribution": "internal",
      "ios": {
        "simulator": true <--ココ
      }
    }
  }
}

次に以下のコマンドを実行して、iOSシミュレーター用の開発ビルドを作成します。

eas build --profile development-simulator --platform ios

ビルドが完了すると、自動的にダウンロードしてインストールするように求めてくるのでYesを選択して直接シミュレータにインストールします。

Install and run the iOS build on a simulator? > (Y/n)

これでローカル開発環境用のアプリをシミュレーター上で実行する準備ができました!

次のコマンドで開発サーバーを立ち上げてシミュレーターで実行します。

npx expo start --dev-client
注意!

npx expo start で開発サーバーを立ち上げてしまうと使用しているライブラリによってはエラーが発生することがありますので、必ず最後に--dev--clientをつけるようにしましょう❗

Androidエミュレータの場合

Androidエミュレータで開発ビルドを作成してインストールするには、.apkが必要ですので、次のコマンドを実行して作成します。

eas build --profile development --platform android

ビルドが完了すると、実機デバイスインストールするためのQRコードが表示され、エミュレータには自動的にダウンロードしてインストールするように求めてくるのでYesを選択して直接エミュレータにインストールします。

Install and run the Android build on a emulator? > (Y/n)

これでローカル開発環境用のアプリをエミュレーター上で実行する準備ができました!

次のコマンドで開発サーバーを立ち上げてエミュレーターで実行します。

npx expo start --dev-client

実機デバイスのビルドを作成する

iOSデバイスの場合

注意!

iOSデバイスに開発ビルドを作成してインストールするには、Apple Developer メンバーシップが必要です!

開発に使用するiOSデバイスをアドホック プロビジョニング プロファイルに登録するために、次のコマンドを実行します。

eas device:create

実行すると過去に使用したことのあるApple IDが表示されるので、使用したいIDを選択します

? Select a Team >
    Team name 1(xxxxxxxxxx)
    Team name 2 (xxxxxxxxxx)

次にデバイスをどのように登録するかを問われるのでWebsiteを選択します。

? How would you like to register your devices ? > - Use arrow-keys. Return to submit.
    Website - generates a registration URL to be opened on your devices  <-- コレ!!!
    Developer Portal - import devices already registered on Apple Developer Portal
    Input - allows you to type in UDIDs (advanced option)
    Exit

少し待つとQRコードが表示されますので、iOSデバイスでスキャンします。

するとプロファイルをインストールするように求められるので実行していきます。

これでiOSデバイスを準備が整いました!

次のコマンドで開発ビルドを作成します。

eas build --profile development --platform ios

しばらくするとどのデバイスにビルドするか問われますので先程登録したiOSデバイスを選択します。

? Select devices for the ad hoc build: > - Space to select. Return to submit
   xxxxxxxx-xxxxxxxxxxxxxxxx (iPhone) <-- コレ

この後プッシュ通知をするか聞かれることがあります。必要なければNoで良いです。

? Would you lile to set up Push Notification for your project? > - Use arrow-keys. Return to submit.
    Yes
    No  <-- コレ
    No, don't ask again (preference will be saved to eas.json)
iOS開発者モードについて

iOS16以降の最新のOSを持っているiOSデバイスは、開発ビルドをインストールするために開発者モードを有効にする必要があります。

ビルドが完了したら、コンソールに表示されたQRコードをiOSデバイスのカメラでスキャンしてインストールします。

これでローカル開発環境用のアプリをiOSデバイス上で実行する準備ができました!

次のコマンドで開発サーバーを立ち上げてiOSデバイスで実行します。

npx expo start --dev-client

iOSデバイスでもEXPOアカウントにログインを忘れないようにしましょう!

Androidデバイスの場合

Androidエミュレータへインストールと同じです。コマンド実行後に表示されるQRコードをAndoridデバイスでスキャンしてインストールしてください!

アプリストア向けにビルドする

以下のコマンドでexpo buildと同様にビルドを実行出来ます。

eas build --platform ios
eas build --platform android

コマンド実行後はexpo CLIと大差ないので流れに沿っていけばOKです!

参考サイト

https://docs.expo.dev/develop/development-builds/introduction/

https://docs.expo.dev/develop/development-builds/installation/

https://docs.expo.dev/develop/development-builds/create-a-build/

https://docs.expo.dev/develop/development-builds/use-development-builds/

https://docs.expo.dev/guides/ios-developer-mode/

Twitterでフォローしよう

おすすめの記事