対象読者
- JavaScriptとWeb開発の基礎に理解がある方
- Reactを用いたJavaScriptアプリケーション開発の未経験者
前提環境
筆者の検証環境は以下のとおりです。
- macOS Catalina 10.15.6
- Node.js 14.2.0/npm 6.14.4
- expo-cli 3.22.3
- expo 36.0.2(React Native 0.61)
- React 16.9.0
アプリをリリースしよう
本連載では、React Nativeを利用してモバイルアプリを開発する際に役立つ要素技術を解説してきました。しかし、アプリを作るだけでは、使ってほしいユーザーの手元には届きません。Androidデバイスに届けたいならGoogle Playに、iPhoneやiPadなどのiOSデバイスに届けたいならApp Storeに、アプリを公開することで、ユーザーの手元にアプリを届けることができます。
今回は、本連載の締めくくりとして、アプリをリリースするまでの流れを解説します。
Androidアプリをリリースするまでの流れ
Google PlayにAndroidアプリをリリースする場合は、手元のソースコードを.apk
または .aab
という拡張子のアプリファイルにまとめてから、アップロードすることになります。大まかな流れとしては次のとおりです。
- Google Playに開発者として登録する(初回のみ25ドルかかります)
- Play Console(管理画面)でストア向けの掲載情報を作成・入力する
- アプリファイルをアップロードする
詳細は次の公式ドキュメントをご覧ください。
入力を求められた項目を埋めていけば、アプリの公開までたどり着けます。宣伝用の画像や紹介文などを書くのは根気のいる作業ですが、アプリの魅力を伝えられるように、頑張ってください。
iOSアプリをリリースするまでの流れ
App StoreにiOSアプリをリリースする場合は、手元のソースコードを.ipa
という拡張子のアプリファイルにまとめてから、アップロードすることになります。大まかな流れとしては次のとおりです。
- Apple Developer Programに登録する(1年ごとに99ドルかかります)
- デベロッパーアカウントサービスでApple IDを登録する
- App Store Connectでストア向けの掲載情報を作成・入力する
- アプリファイルをアップロードする
- 審査を受ける
- 審査が通ったらアプリを公開する
Apple Developer Programへの登録については、次の公式ドキュメントに詳しく書かれています。
また、公開の準備に関しては次の公式ドキュメントが詳しいです。
Apple IDの登録や証明書などの管理はデベロッパーアカウントで行い、App Storeへの掲載内容や審査についてはApp Store Connectで行うという点がわかりづらいので、ドキュメントを読む際にはご留意ください。iOSのリリースには審査が必要となります。審査基準は次の公式ドキュメントに記載されているので、違反がないように気をつけながら提出しましょう。
もし差し戻されたとしても、レビュアー(審査員)もガイドラインに沿って「4.2.3に違反しています」といった形で、どこを改善すればよいのかを知らせてくれます。ガイドラインをよく読みながらアプリを改善して、審査に再度挑戦しましょう。
アプリファイルを作る方法
さて、事前にGoogleやAppleに対して手続きを行う必要はあるものの、技術的には.apk
ファイルや.ipa
ファイルといったアプリファイルを用意すれば、あとはPlay ConsoleやApp Store Connectにアップロードすることで、アプリを公開できることがわかりました。こういった、最終的にストアに公開するためのアプリファイルを、ソースコードから組み上げる処理のことを、リリースビルドと呼びます。本記事では、Expoで作成したプロジェクトでリリースビルドを実施する方法について解説します。これまでの連載でも利用してきた、Expo CLIが動く環境があればAndroid SDKもiOS SDKも必要ないので、ご安心ください。
React Nativeのリリースビルド
Expo CLIを使わずに、React Native CLIで生み出されたプロジェクトには、android
フォルダやios
フォルダがあります。この中には、Android SDKやiOS SDKの開発手法に対して、とても素直な作りになっています。AndroidプロジェクトはGradleによって構成管理や依存性管理が行われており、iOSプロジェクトではXcodeによる構成管理をCocoaPodsによる依存性管理が支援します。
これは、AndroidエンジニアやiOSエンジニアにとっては、慣れ親しんだ環境です。そのため、React Nativeの公式ドキュメントでは、リリースビルドについての解説がほとんど記載されていません。Android SDKやiOS SDKにおける、「普通の」リリースビルドのノウハウがあれば問題ないため、熱心に言及する必要がないようです。
もし、Android SDKやiOS SDKでリリースビルドを行うためのセットアップや設定について自信がない場合は、本記事のように、まずはExpoを使ったリリースビルドに挑戦してみるとよいでしょう。