Skip to main content

Mobile signature

Overview

アプリビルドから署名・配布までの流れ

モバイルアプリは、単にビルドしただけでは配布・公開することはできない。
ビルドされたアプリには「デジタル署名」が必要であり、それがなければ端末へのインストールもストアへのアップロードも不可能。

以下は、iOS・Androidのビルドから署名、成果物生成、配布までの一般的な流れです。

iOSアプリの場合

  1. アプリ開発・実装

    • FlutterやReact Native、あるいはXcodeを使ってコードを開発する。
  2. ビルド(例:flutter build ios

    • Xcodeプロジェクトから .app が出力されるが、この時点では未署名か開発用署名。
  3. 署名

    • Apple Developer Program の証明書とプロビジョニングプロファイルを用いて署名を行う。
    • 自動署名(Cloud-managed Certificates)を使う場合、FastlaneやXcodeで自動化可能。
  4. 成果物 .ipa の生成

    • xcodebuildFastlanebuild_app で署名済み .ipa を生成。
  5. TestFlight / App Store Connect にアップロード

    • upload_to_testflight(Fastlane)またはXcode Organizer経由でアップロード。
  6. 配布・リリース

    • TestFlightで社内・外部テスト後、審査を通してApp Storeにリリース。

Androidアプリの場合

  1. アプリ開発・実装

    • FlutterやAndroid Studioなどでコードを開発。
  2. ビルド(例:flutter build apk or flutter build appbundle

    • .apk.aab を生成。
  3. 署名

    • android/app/ 配下に key.properties を配置し、build.gradlesigningConfigs で署名。
    • 正しく構成すればビルド時に自動で署名される。
  4. 成果物 .aab / .apk の完成

    • ストア配信用のファイルが生成される。
  5. Google Play Console へのアップロード

    • 手動でアップロードするか、fastlane supply で自動化も可能。
  6. テスト配布またはリリース

    • 内部テスト、クローズドテスト、オープンベータ、本番リリースのいずれかを選択。

まとめ

  • ビルドのあとに署名が必要なのは、OSやストアが「誰が作ったアプリか」を検証するため。
  • Flutterはビルドまでは担当するが、署名やアップロードはXcodeやGradle、Fastlaneなどのツールで補完する必要がある。
  • Fastlaneはこの一連の流れを一貫して自動化できる強力なツールであり、Cloud-managed certificatesとの組み合わせで非常に効果的な運用が可能となる。