Flutter 製のアプリを Firebase App Distribution で配布したときのメモ(iOS)

Flutter 製のアプリを Firebase App Distribution で配布したときのメモ(iOS)

August 7, 2022

その前に #

App Distribution をはじめ、現在 Firebase で提供されているいくつかの機能はもともと Fabric という Twitter 製のサービスだったみたいですね。

Fabric のご案内 - Twitter プラットフォーム

2014 年 10 月 22 日

本日、本社のあるサンフランシスコで行われた開発者向けイベント Flight にて Fabric(ファブリック)の発表が行われました。Fabric とは、開発者の方々がより良いアプリケーションをつくるために便利なモジュール形式のモバイルプラットフォームです。

https://blog.twitter.com/ja_jp/a/ja/2014/1023fabric

それを 2017 年に Google が買収し、Firebase と統合されて現在に至るようです。

グーグル、Twitter の開発者プラットフォーム「Fabric」を買収へ - CNET Japan

2017 年 01 月 19 日

Google が Twitter のモバイル開発者プラットフォーム「Fabric」を買収するという。両社が米国時間 1 月 18 日に発表した。

(中略)

Fabric チームは Google の開発者向け製品グループに加わり、同社の「Firebase」チームと統合される。

(中略)

Fabric は、開発者を引きつけるための取り組みとして Twitter が 2014 年にリリースしたもので、現在、アクティブモバイルデバイスは 25 億台にものぼり、58 万人以上のモバイル開発者が利用している。Fabric の「Crashlytics」と「Answers」は、アプリの安定性向上とアナリティクスに最もよく使われているソフトウェア開発キット(SDK)の 1 つだ。

https://japan.cnet.com/article/35095194/

さて、歴史的経緯がわかったところでさっそく本題に入りましょう。

なお Firebase App Distribution の公式ドキュメントは以下にあります。

事前準備 #

1. 新規プロジェクトを作成する #

なにはともあれとりあえず新規プロジェクトを作ります。

flutter create hello_world --org com.hello-world

その後、カウンターアプリが表示されることを確認しておきましょう。

2. Firebase プロジェクトを作成する #

ここでは FlutterFire CLI がインストールされている前提とし、それを使用して Firebase プロジェクトの作成とアプリの紐付けを行います。(もちろん、FlutterFire を使用しない方法でも問題ありません。)

flutterfire configure

<create a new project> で新規プロジェクトを作成し、androidios を選択して有効化します。

iOS アプリをビルド&テスト配布する(失敗編) #

次のコマンドでビルドを実行します。

flutter build ipa

プロジェクト内に以下の IPA ファイルが作成されています。

hello_world/build/ios/ipa/hello_world.ipa

Firebase のコンソール画面を開き、App Distribution から上記のファイルをアップロードします。

  • その後テスター(となるメンバーのメールアドレス)を登録して次へ。
  • リリースノートの記入は任意です。今回は「My first distribution!」と入力しました。
  • そして配布を実行すると、テスターのもとにメールが飛びます。

Email

email

このメールの指示に従います。流れは以下です。

  1. 届いたメールをモバイル端末で開きます。
  2. Get started のリンクを開きます。
  3. Google アカウントでログインします。(未ログイン状態の場合)
  4. 招待を承認します。
  5. Firebase profile を端末にインストールします。(初回のみ)

iPhone

iPhone

ここまで終わるとホーム画面に AppDistribution のブックマークが追加されているはずです。

iPhone

iPhone

AppDistribution のブックマークを開いてみると、以下のようなメッセージが表示されているはずです。

Device registered, you’re all set!

You’ll get an email when the app is ready to test.

テスターとしてのセットアップは完了したということですね。ただ、まだ肝心のテストが実行可能状態になっていません。

このときもう1通メールが届きます。これはテスターではなく、開発者向けのメールです。

Email

email

Provisioning Profile を更新しないとテスターの人がテストを実行することはできないよ、と指摘されました。

iOS アプリをビルド&テスト配布する(成功編) #

ということで先のメールの指示に従います。

  1. Apple Developer portal からテスターのデバイスを登録します。
  2. Provisioning Profile を作成、ダウンロードして登録します。
  3. 作成した Provisioning Profile を含めるように再度ビルドし直します。

次のコマンドでビルドを実行します。

flutter build ipa

そして Xcode を開き Product から「Archive」を選択します。

  • その後 Distribute App を選択します。Distribution 方法は Development で良いでしょう。
  • そのまま進めていくとビルドが行われ Runner 2022-01-01 19-30-00 のようなフォルダが作成されます。

この中にある、IPA ファイル(例:Runner 2022-01-01 19-30-00/hello_world.ipa)を App Distribution にアップロードします。

すると、テスター側に次のメールが届くはずです。

Email

email

テストが実行できるようになりましたよ、という通知ですね。うまくいきました。

AppDistribution のブックマークを開いてみると、Download できる状態に変わっていることが確認できます。

Download を実行するとちゃんとホーム画面に追加されました。

iPhone

iPhone

その他参考 #