Example of Continuous Delivery with Flutter, Firebase App Distribution, and Github Actions.
以下の手順で自分のプロジェクトでも使えるようになります。
- Apple Developer Program に参加
- 基本的にはチームに招待してもらう
- Firebase の登録
- https://console.firebase.google.com/u/9/?hl=ja から登録
- iOS アプリ, Android アプリの作成
- 登録時に google-service.json や SDK などの話など出てきますが、Firebase App Distribution を使うだけであれば無視しても OK です
- Firebase App Distribution の登録
- iOS, Android アプリでそれぞれ「開始」を押す
- テストグループを作成
- CI で testers というグループに配信するようになっているので、testers というグループ名にする必要があります
- テスターをグループに追加
- .github/workflows を自分のプロジェクトにコピペ
- デフォルトでは master ブランチに PR をマージしたときにトリガーされるようになっています
- Settings / Secrets / Actions / New repository secret から登録
以下設定項目
firebase login:ci
を叩いて取得
firebase の Android アプリの ID
firebase の iOS アプリの ID
- Xcode の Preferences / Accounts / Manage Certificates まで移動
- + ボタンから
Apple Distribution
を選択 - 作成された Certificate を右クリックし、
Export Certificate
- 任意のパスワードを入力して Export
base64 XXX.p12 | pbcopy
でクリップボードにコピーし Secrets に貼り付け
IOS_CERTIFICATE_BASE64 を生成する際の Export 時のパスワード
- https://developer.apple.com/account/resources/profiles/list からプロビジョニングプロファイルを作成
- type は Ad hoc
- Devices にテスターのデバイスを登録
- デバイスが未登録の場合は https://developer.apple.com/account/resources/devices/list から登録
- Certificates は IOS_CERTIFICATE_BASE64 生成時のもの
- ファイルをダウンロード
base64 XXX.movileprovision | pbcopy
でクリップボードにコピーし Secrets に貼り付け
- Signing & Capabilities / Release で manual に設定
- Provisioning Profile は IOS_PROVISIONING_PROFILE_BASE64 作成時のものを指定
- ダウンロードした Provisioning Profile をクリックして開くとキーチェーンに登録されて、Xcode上で選べるようになります
- ダウンロードした Certificate をクリックして開くとキーチェーンに登録されて、Xcode上に表示されます
- ios/ExportOptions.plist を自分のプロジェクトにコピペ
- teamID は Apple Developer のチーム ID
- provisioningProfiles の部分は 下の IOS_PROVISIONING_PROFILE_BASE64 作成時のものに変更
- key: アプリの bundleID
- string: プロビジョニングプロファイル の Name