🚅

【Flutter】ipa作成からAppleConnectアップロードまでのワンライナー

に公開
1

FlutterでiOS開発をしていて、テストフライトにアップするコマンド打ってから、家に帰りたい、お風呂に入りたい、飯を食いたい、飲みに行きたいということがあると思います。そこでこのワンライナーを紹介します。一回叩けばあとはPCから離れても大丈夫です。

Flutter大学の例

$ flutter build ipa --dart-define-from-file=dart_defines/prod.json && xcrun altool --upload-app -t ios -f build/ios/ipa/Flutter大学.ipa -u $yourEmail -p $appSpecificPassword

解説

まず、このワンライナーは2つのコマンドを && で繋いで順番に実行しています。

flutter build ipa --dart-define-from-file=dart_defines/prod.json

xcrun altool --upload-app -t ios -f build/ios/ipa/Flutter大学.ipa -u $yourEmail -p $appSpecificPassword

です。

1つ目

こちらは基本的なipa作成の flutter build ipa に対してdart_definesを使った環境変数設定のoptionを付け加えたコマンドです。

flutter build ipa --dart-define-from-file=dart_defines/prod.json

2つ目

こちらは、xcrunというXcodeのコマンドラインツールでipaをAppleConnectにアップロードするコマンドです。-u でAppleId、-p でパスワードを設定することで認証し、アップロードできます。以下では$yourEmail$appSpecificPassword と書いてますが、それぞれ自分の特有のものに変えてください。

xcrun altool --upload-app -t ios -f build/ios/ipa/Flutter大学.ipa -u $yourEmail -p $appSpecificPassword

注意点として、AppleIdはあなたがいつも使うメアドのやつなのですが、パスワードは別だという点です。appSpecificPasswordと書いている通り、このためだけに別のパスワードを作って使います。

以下のドキュメントに従って作成できます。

https://support.apple.com/ja-jp/102654

まとめ

ということで、ワンライナーの紹介とその軽い解説でした。

CodeMagicやGitHub ActionなどのCIを組むのが一番ではありますが、そこまでやらなくてもいいやという人はこちらがおすすめです。要は同じことをCIでもやれば、CI上でもAppleConnectにアップロードできるはずです。

Flutter大学

Discussion

kboy (Kei Fujikawa)kboy (Kei Fujikawa)

React Nativeバージョンはこちら

eas build --local --platform ios --profile production --non-interactive --output WODCamera.ipa && xcrun altool --upload-app -t ios -f WODCamera.ipa -u appleid -p pass