Mobile signature
Overview
アプリビルドから署名・配布までの流れ
モバイルアプリは、単にビルドしただけでは配布・公開することはできない。
ビルドされたアプリには「デジタル署名」が必要であり、それがなければ端末へのインストールもストアへのアップロードも不可能。
以下は、iOS・Androidのビルドから署名、成果物生成、配布までの一般的な流れです。
iOSアプリの場合
-
アプリ開発・実装
- FlutterやReact Native、あるいはXcodeを使ってコードを開発する。
-
ビルド(例:
flutter build ios)- Xcodeプロジェクトから
.appが出力されるが、この時点では未署名か開発用署名。
- Xcodeプロジェクトから
-
署名
- Apple Developer Program の証明書とプロビジョニングプロファイルを用いて署名を行う。
- 自動署名(Cloud-managed Certificates)を使う場合、FastlaneやXcodeで自動化可能。
-
成果物
.ipaの生成xcodebuildやFastlaneのbuild_appで署名済み.ipaを生成。
-
TestFlight / App Store Connect にアップロード
upload_to_testflight(Fastlane)またはXcode Organizer経由でアップロード。
-
配布・リリース
- TestFlightで社内・外部テスト後、審査を通してApp Storeにリリース。
Androidアプリの場合
-
アプリ開発・実装
- FlutterやAndroid Studioなどでコードを開発。
-
ビルド(例:
flutter build apkorflutter build appbundle).apkや.aabを生成。
-
署名
android/app/配下にkey.propertiesを配置し、build.gradleのsigningConfigsで署名。- 正しく構成すればビルド時に自動で署名される。
-
成果物
.aab/.apkの完成- ストア配信用のファイルが生成される。
-
Google Play Console へのアップロード
- 手動でアップロードするか、
fastlane supplyで自動化も可能。
- 手動でアップロードするか、
-
テスト配布またはリリース
- 内部テスト、クローズドテスト、オープンベータ、本番リリースのいずれかを選択。
まとめ
- ビルドのあとに署名が必要なのは、OSやストアが「誰が作ったアプリか」を検証するため。
- Flutterはビルドまでは担当するが、署名やアップロードはXcodeやGradle、Fastlaneなどのツールで補完する必要がある。
- Fastlaneはこの一連の流れを一貫して自動化できる強力なツールであり、Cloud-managed certificatesとの組み合わせで非常に効果的な運用が可能となる。