📚

【Codemagic】iOS版だけ発生した問題の解決方法とリリースノートにGitHubのコミットメッセージを含める方法

2021/10/22に公開

はじめに

最近業務でCodemagicを使ってFlutterアプリをFirebase App Distributionで配布することがあり、Android版は配布されているのにiOS版だけFirebase App Distributionで配布されない問題に直面してかなり時間を取られてしまったため、同じ問題に直面している方へ解決方法を備忘録として残しておきたいと思います!

Codemagicの設定は今回割愛していますのでご了承ください。
設定についてはCodemagicのドキュメントを見ながら設定してください。

結論

Codemagicのビルド番号を自動でインクリメントするように設定することで解決します。
Firebase App DistributionのリリースノートはBuildのあとにコード追加することで解決します。

2021/10/21時点の情報のため、変更されることがございます。

前提

  • Codemagicの設定をドキュメントを見ながら設定できていること。
  • Firebaseの設定ができていること。

詳細

原因は調査中なのでまだわかりませんがビルド番号が同じだとFirebase App Distribution側で変更がないものとして判断されて配布してくれないようです。
なのでこのビルド番号をインクリメントすることで配布できます。

1. ビルド番号をインクリメントする方法

ビルド番号をインクリメントする方法は、
アプリの設定【青枠】
スクリーンショット 2021-10-22 21.53.50.png

BuildとTestsの間の+マークを選択
スクリーンショット 2021-10-22 22.04.56.png
添付している画像ですと設定済(青枠)のため未設定の場合+マーク(赤枠)です。

Post-test scriptとPre-build scriptに下記コードを追加。

cd ios
agvtool new-version -all $(($BUILD_NUMBER + 100))


Build内のModeをReleaseを選択しBuild argumentsの設定のAndroid、iOSの変数に以下のコードを追加。

--build-name=1.0.0 --build-number=$((PROJECT_BUILD_NUMBER))

これでビルド番号をインクリメントすることができます。

2. Firebase App Distributionのリリースノートへコミットメッセージを含める方法

Buildの後に実行する必要がありますので
BuildとDistributionの間の+マークを選択しPost-build scriptとPre-publish scriptに以下のコード追加

git log --format=%B -n 1 $FCI_COMMIT > release_notes_ja.txt

これでリリースノートへGitHubのコミットメッセージを含めることができます。

感想

Codemagicは設定さえできれば良いCIツールです。
私の個人開発のアプリでも使って開発効率を上げていければいいなと思いました。
最後までお読みくださいましてありがとうございました!

Discussion