開発Tips

FlutterアプリをApp Store Connectにアップロードする手順(Xcodeビルドでコケた話つき)

Flutter で作ったアプリを App Store Connect にアップロードしようとしたら、最初のビルドでいきなり詰まりました。同じところでハマる人がいそうなので、原因と正しい手順を残しておきます。

つまずき: Xcode から直接ビルドすると失敗する

はじめ、ネイティブ iOS と同じ感覚で Xcode から直接ビルドしようとしたところ、次のエラーで失敗しました。

Command /bin/sh failed with exit code 255

原因はシンプルで、Flutter アプリなのに Xcode 側のビルドだけで済ませようとしていたこと。Flutter は flutter build で iOS 向けにビルドする必要があり、Xcode 単体のビルドでは前提が揃いません。言われてみれば当たり前ですが、ネイティブの手癖でやると引っかかります。

正しい手順: flutter build ios → Xcode でアーカイブ

flutter build ios --release でリリースビルドを作ってから、Xcode でアーカイブ・アップロードします。

  1. Signing (Release) をストア向けの証明書・プロビジョニングに設定する
  2. ターミナルで Flutter プロジェクトのルートへ移動
  3. flutter build ios --release を実行
  4. 成功したら Xcode を開く(ここから先は通常の iOS アップロードと同じ)
  5. Product → Archive を選択
  6. アーカイブ完了を待つ
  7. Organizer から App Store Connect へアップロード
# プロジェクトルートで
flutter build ios --release
# → 成功後、Xcode で Product > Archive

ポイントは「ビルドは Flutter、アーカイブ・アップロードは Xcode」と役割を分けること。ここさえ押さえれば、あとは通常の iOS アプリのアップロードと変わりません。

まとめ

Flutter の iOS アップロードは、flutter build ios --release でビルドを作ってから Xcode でアーカイブする——この順序を知っていれば数分で終わります。逆にネイティブの感覚で Xcode から直接ビルドすると exit code 255 で足止めされるので注意。CI での自動化は別途まとめる予定です。