【React Native】【Expo】iOS/Android ストア申請用のビルドを作る
こんにちは、maricuruのワダ(@takahi5)です。
寒さに比例して南国に行きたい欲が高まってきております🏖
さて、弊社アプリはExpoで作っていますが、たまに
「Expoで作ったアプリってストアに公開できるの?」
と聞かれることがあります。
もちろんストアに公開できます!
むしろストア公開のステップが大幅に軽減されるのがExpoのメリットだったりします。
- XCodeでのビルド不要
- Android Studioでのビルド不要
- iOSのプロビジョニングとかの管理不要
- pushのトークンとかの管理も不要
などなど驚きのメリットがあります。
ストア申請用とExpoクライアントアプリの違い
Expoで普段開発しているとExpoクライアントアプリを使うと思います。
QRコードとかで起動できるやつです。
ストアに申請するときには、これとは異なり申請用のビルドを作ることになります。
iOSならipaファイル、 androidならapkファイルですね。
ストア申請用のビルドの作り方
基本的には↓に書いてあります。
Building Standalone Apps - Expo Documentation
要所を説明したいと思います。
app.jsonの設定
bundleIndentifer, packageはitune connect や google play consoleで作成したものを指定しましょう。
buildNumberやversionCodeはビルドを申請するたびにインクリメントする番号です。
{ "expo": { "name": "Your App Name", "icon": "./path/to/your/app-icon.png", "version": "1.0.0", "slug": "your-app-slug", "sdkVersion": "XX.0.0", "ios": { "bundleIdentifier": "com.yourcompany.yourappname", "buildNumber": "1", }, "android": { "package": "com.yourcompany.yourappname", "versionCode": 1, } } }
ビルドする
expo build:ios expo build:android
でそれぞれビルドできます。
初回のビルドのときは、クレデンシャルなどを自分でアップロードするか、Expoに管理をおまかせするか、などを聞かれます。
僕はExpoにお任せするのをオススメします。 楽ちんなのでw
その場合、Apple IDやパスワードを聞かれます。
その後、Expoサーバー側でビルドが始まります。しばらく時間がかかります。
以下のようなメッセージが表示され、ビルド状況をモニタリングするURLが表示されます。
気になる場合はこのURLを覗いてみてもよいでしょう。
Building... Build started, it may take a few minutes to complete. You can monitor the build at https://expo.io/builds/07e11983-2649-4a93-a507-b9dc7a8927f8
そしてビルドが完成すると以下のように、ダウンロードURLが表示されます。
Successfully built standalone app: https://expo.io/artifacts/xxxxxx-xxxxxxxx-xxxxxxxx
このURLをブラウザで開くと、ipaファイルなりapkファイルをダウンロードできます。
ビルドをストアにアップロードする
androidの方はapkをgoogle play consoleのウェブサイト上でアップロードすればよいです。
iOSのほうはちょっと面倒で、ipaファイルをitune connectにアップロードするためには、
Application Loaderというアプリでアップロードします。
選択ボタンをクリックして先ほどのipaファイルを選ぶだけです。
ビルドをアップロードできたら、あとは普通にitune connectで申請すればOKです!
更新ビルドを作るとき
app.jsonの
- version
- ios.buildNumber
- android.versionCode
を変更して、あとは上記と同じ手順になります!