【18】React Nativeでテキストエディタを作ってみる!【デプロイ編】

こんにちは!かたつむり(@Katatumuri_nyan)です!

Reactを触ってみて、サイト的なものは作れるようになりました(*´ω`)
そこで、次はReactNativeを触ってみようと思い、簡単なテキストエディタを作成しようと企んでおります(笑)

アプリの機能としては十分できてきたと思うので、これからビルド・デプロイ・公開申請をしていきます!

GitHubでソースコードを管理しています!

最初から見る↓
【1】React Nativeでテキストエディタを作ってみる!【下調べ編】【1】React Nativeでテキストエディタを作ってみる!【下調べ編】

前回を見る↓
【17】React Nativeでテキストエディタを作ってみる!【細かい修正編】【17】React Nativeでテキストエディタを作ってみる!【細かい修正編】

環境

  • React Native
  • Expo
  • windows 10

参考

公開申請用の設定 app.jsonの構成

まず、app.jsonに公開用の設定を書いていきます。2.app.jsonを構成します

既に、app.jsonはあるので、足りなさそうな部分を書き足しました。

{
  "expo": {
    "name": "snail_Markdown_TextEditor",
    "slug": "snail_Markdown_TextEditor",
    "version": "1.0.0",
    "icon": "./assets/icon.png",
    "splash": {
      "image": "./assets/splash.png",
      "resizeMode": "contain",
      "backgroundColor": "#ffffff"
    },
    "updates": {
      "fallbackToCacheTimeout": 0
    },
    "assetBundlePatterns": [
      "**/*"
    ],
    "ios": {
+      "bundleIdentifier": "com.katatumuri.snailmarkdowntexteditor",
+      "buildNumber": "1.0.0",
      "supportsTablet": true,
      "usesIcloudStorage":true
    },
    "android": {
+      "package": "com.katatumuri.snailmarkdowntexteditor",
+      "versionCode": 1,
      "adaptiveIcon": {
        "foregroundImage": "./assets/adaptive-icon.png",
        "backgroundColor": "#FFFFFF"
      }
    },
    "web": {
      "favicon": "./assets/favicon.png"
    }
  }
}

ビルド

ビルドしていくので、とりあえず expo startします。

Andoroid用にビルド

Android用にビルドすることを選択した場合
expo build:android -t apkAndroid向けにビルドする場合、APK()またはAndroid App Bundle(expo build:android -t app-bundle)のビルドを選択できます。アプリバンドルをお勧めしますが、プロジェクトでGoogle Playアプリ署名が有効になっていることを確認する必要があります。詳細については、こちらをご覧ください。
プロジェクトを初めてビルドするときに、キーストアをアップロードするか、それともGoogleに処理してもらうかを尋ねられます。キーストアが何であるかわからない場合は、キーストアを生成してもらうことができます。それ以外の場合は、自由にアップロードしてください。
Expoにキーストアを生成させることを選択した場合は、後で キーストアを実行して安全な場所にバックアップすることを強くお勧めしますexpo fetch:android:keystore。アプリをGooglePlayストアに送信したら、そのアプリに対する今後のすべての更新 は、Googleが受け入れるために、同じキーストアで署名する必要があります。何らかの理由で、将来プロジェクトを削除したり、資格情報をクリアしたりした場合、キーストアをバックアップしていないと、アプリに更新を送信できなくなります。

Expoの公式ドキュメント通りにやっていきます。
Google Playアプリ署名がわからないので、apkでやってみますw
別コンソールを開いてexpo build:android -t apk

picture 1

Expoのアカウントがあるので、
ログインします。
picture 2

キーストアを作るか聞かれるので、作っておきます。

picture 3
ビルド中、Expoのホームでこんな感じで表示されてました。

picture 4
できたっぽい

iOS用のビルド

iOS用にビルドすることを選択した場合
iOS用のスタンドアロンアプリは、アーカイブexpo build:ios -t archive(expo build:ios -t simulator)ビルドまたはシミュレーター()ビルドの2つの異なるタイプでビルドできます。シミュレータービルドを使用すると、スタンドアロンアプリをシミュレーターでテストできます。アプリをストアに公開したり、TestFlightなどのツールを使用して配布したりする場合は、アーカイブを使用する必要があります。
iOS向けにビルドする場合、独自のオーバーライドを提供する機会を持ちながら、Expoに必要なクレデンシャルを作成させるかどうかを選択できます。Apple IDとパスワードはローカルで使用され、Expoのサーバーに保存されることはありません。

公式ドキュメント通りにやっていきます。
expo build:ios -t archive

picture 1
Appleにログインするよう求められます。

picture 2
Appleにログインしたら、認証をする必要があるみたいです。

picture 3
おっと!Appleに課金してないからダメみたいです。
Apple Developerアカウントを作成します。

Apple Developerアカウントを作成

App Store Small Business Programに登録します。

picture 4
登録画面に移動

picture 5
ログインします。

picture 6
あれ!だめでした。

picture 7

developerアカウントはあるみたいなので、どうしたらいいんだろうw

picture 8

Apple Developer Program←登録するのはこっちでした!

picture 9
登録していきます。

picture 10
個人情報の登録

picture 11
法人の種類を選択

その後、支払いをします。

picture 13
支払いをしたものの、アクティベート用のメールが来ず、この表示のママなので、待ちます。

picture 1
数日後、アクティベートされたみたいなので、ビルドからやり直します。

iOS用にビルド

picture 2
ログインします

picture 3
ログインすると、Expoを使うかどうか聞かれます。
Expo使う設定にします。

picture 4
全部Expoを使うようにします。

picture 5
こちらもExpoにまかせます。

すると、ビルドが始まるので、待ちます。

picture 6
ちなみに、Expoのサイト上ではこのような表示になっています。

picture 7
ビルドが終わったようです。

picture 6
ビルドしたファイルをダウンロードしておきます。

アプリをストアへ送信

ビルドしたアプリを各ストアへ送信していきます。

公式ドキュメントを見ながら送信していきます。

Google App Storeへ送信

重要:
・Googleサービスアカウントを作成し、そのJSON秘密鍵をダウンロードする必要があります。
・その後、Google Play Consoleでアプリを作成し、少なくとも1回は手動でアプリをアップロードする必要があります。

とのことなので、Googleサービスアカウントを作成していきます。

Google Play Consoleへの登録

picture 8

Google Play Consoleにアクセスします。

picture 9
利用規約に同意。

picture 10
デベロッパーアカウントを作成します。
(ここでも支払いが必要…(;´д`)トホホ)

電話番号の書き方を参考に。

picture 11
クレジットカードで購入します。

picture 12
支払い完了

アプリの作成

参考  

Google Play Consoleで、アプリを作成していきます。

picture 13
アプリを作成を押す。

picture 14
アプリの情報を入力していきます。
アプリを無料に設定すると、公開後に有料にすることはできないようです。

picture 15
すべてのアプリ一覧に、新しいアプリが表示されました。

アプリのセットアップ

picture 16
アプリのセットアップをしていきます。

picture 17
一つ一つ設定していきます。

アプリアイコン・グラフィックの作成

picture 2

↑この画面で、アプリのアイコン・グラフィック・スクリーンショットを設定しないといけないみたいなので、作成していきます。

picture 1

アプリのリリース

picture 3
アプリを公開する前に、テストしないといけないみたいなので、、、
今回はオープンテストで行うようにしようと思います。

「誰でもGooglePlayで登録することで、アプリをテストできるようにする」を選びました。

国や地域を選択

picture 4
タスクを確認して、リリースする国を追加します。

オープンテスト版リリースの作成

picture 5

アプリバンドルでのビルド

アプリバンドルが必要みたいですね…。
アプリバンドルでビルドしなおします。

expo build:android -t app-bundle

picture 14
おわりました!

picture 15
こちらをExpoからダウンロードして、オープンテスト版リリースの作成画面でアップロードします。

プライバシーポリシーの追加

こちらのサイトを参考に、プライバシーポリシーを作ります。
このブログの固定ページに掲載して、URLを記載することにします。

スマホアプリ版アプリケーション・プライバシーポリシー

Apple Storeへ送信

私はWindowsなので、直接送信できないのでは…と思い、Expoの有料プランに登録するか迷っていました。
(MacOSでしか使えなさそうなTransporterというアプリが必要)

そこでこんな記事を発見→WindowsからApp Store Connectにipaファイルをアップロードする
ひとまずは、この方法で試していきたいと思います。

App Store Connectへの接続

picture 7
App Store Connectとやらに接続しないといけないみたいなので、接続していきます。

picture 8
なにやら管理画面が出てきました!
「マイApp」を選択します。

Appを追加

picture 9
ここからアプリを追加していきます。

picture 10
ここでもアプリの情報を入力していきます。

picture 12
iOSを選択

こちらの記事によると、SKUはなんでもいいらしい!

App情報を追加

picture 13
こちらで、アプリの情報を追加していきます。
追加できたら、「審査へ提出」をおします。

ビルド

picture 1
アップロードツールを表示を押します。

picture 5

Xcodeはないので、「Transporter App をダウンロード」を押したいところですが、Mac用のリンクなので、違うとこから行きます。

上の方で紹介した、WindowsからApp Store Connectにipaファイルをアップロードするを参考に、Windows用のTransporterをダウンロードします。

Transporter User Guide 2.2こちらからダウンロードしていきます。
ちなみに、linux用の物もあるようです。

picture 6

Windowsというリンクからダウンロードできます。

picture 7

詳細を押して
picture 8
実行を押します。

picture 9

picture 10

picture 11

picture 12

‘C:\Program Files (x86)\itms というところに iTMSTransporter.cmd があるので、これをPowerShell上で実行すればよさそうです。
PowerShell上で以下を行います。

& 'C:\Program Files (x86)\itms\iTMSTransporter.cmd' -help

picture 13
こんな感じになった…w
ちゃんとインストールされてますね

次は、以下をPowerShellで打ちます。

App uploads for macOS, Linux, and Windows: Specifies the directory and filename for the app source file (.pkg or .ipa). For Linux and Windows, -assetDescription is required.

& 'C:\Program Files (x86)\itms\iTMSTransporter.cmd' -m upload -assetFile 【ipaファイルの場所】 -u 【Appleconnectのユーザー名】 -p 【Appleconnectのパスワード】 -assetDescription .\Desktop\AppStoreInfo.plist -v eXtreme

あ、、、これMac無いとアップロードできないやつですね…。
詰みました💦

結局、Macでアップロードして申請提出しました🙇💦

コメントを残す

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