🫥

Expo + React NativeでIOS ローカルビルド→アップロード

2023/11/08に公開

はじめに

expo、react-nativeについてある程度の理解がある人向けです。
macの人向けです。

経緯

なぜ、公式推奨のeas build + expoサーバーでのビルドを使わないのか

eas buildは無料プランだと月30回しかビルドが通らない
(ios, androidは各1回とカウントされるので、
各月15回、その後ios, android同時ビルドにつき3ドル発生)

ただ、ざっくりと

  • 不要なライブラリを精査して、アプリの容量を軽くしてくれる。(精査してたらそんなに変わらないかも)
  • そのまま、ストアのアップロードまでやってくれる

などと利点も多いので 、余裕があるかたは使用するのが良さそうです。
参考記事: https://zenn.dev/tasugi/articles/6301f7d102a004

eas build + expoサーバービルドをしたい方はこちらへ。
https://docs.expo.dev/build/setup/

環境

  • M1 mac pro

  • bash

  • node v18.8.0

  • eas-cli 5.6.0

  • "react": "18.2.0",

  • "react-native": "0.72.6",

  • "expo": "^49.0.16",

事前確認

手順の中で

  • Expo アカウント
  • apple developerアカウント

が必要になります。
事前に作成をお願いします。

また、app.jsonに必要な項目を埋めて下さい

参考
https://honmushi.com/2019/12/05/expo-app-json/
https://docs.expo.dev/versions/latest/config/app/

ビルド開始

最初は公式と同じなので
迷ったらこちらへ https://docs.expo.dev/build/setup/

ファイルのルートで作業してください。

1

npm install -g eas-cli

2

eas login

3

eas build:configure

4, ios build

eas build --platform ios --local

ターミナル上で対話型の応答が始まるので、応対して下さい。
基本的にAppleログイン以外はenterで問題ないと思います。

ビルドが通ると
ルート直下に.ipa.ファイルが作成されます。
(./build-**********.ipa など)

5, Transporterをダウンロード

https://apps.apple.com/jp/app/transporter/id1450874784?mt=12
リンクより、Transporterアプリをダウンロードしてください。

6, Transporterにログイン

Transporterを立ち上げると、Appleログインを求められます。
Apple Developerの課金をしているアカウントでログインして下さい。

7, .ipaをApple Store Connectにデリバリ

ログインが終わると写真のような画面になるので、
ウインドウに先ほど作成した.ipaをドラッグアンドドロップしてください。


アプリが追加されます。デリバリのボタンが表示されたら、クリックして下さい。
これで、Apple Store Connectにアプリのデリバリが開始されます。

最後に

だいぶざっくりと、雑にまとめたので、
気が向いたら、詳しく追記していきます。

Discussion