0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Flutter】iOSのビルドのアップロードを自動化する

Posted at

はじめに

FlutterでiOSのリリースビルドからAppStoreConnectにアップロードするまでを自動化する方法を調べたので記事にします。
本記事では、ビルド後、altoolを使用してビルドのアップロードする方法を紹介します!

シェルスクリプトを作成

シェルスクリプトを作成

Flutterのプロジェクトのルートに下記のスクリプトを作成してください
ビルドからaltoolを使用してビルドをアップロードするまでのシェルスクリプトを作成します。
API_KEYとISSUER_IDはあとで置き換えが必要です。

#!/bin/sh
fvm flutter clean
fvm flutter pub get
fvm flutter build ipa --release --flavor prod
# API_KEYとISSUER_IDについては後述します
xcrun altool --upload-app --type ios -f build/ios/ipa/*.ipa --apiKey API_KEY --apiIssuer ISSUER_ID

実行権限付与

作成が終わったら、chmod 755で実行権限をつけます。

App Store Connect APIキーの作成

  • AppStoreConnect - ユーザーとアクセスのページにアクセスします
  • 統合のタブを押下し、チームキーにキーを作成します
  • 適当な名前とビルドをアップロード可能な権限を設定します(AppManagerにしましたが、Developerでも問題ないはず)
  • 作成できたらキーのダウンロードとAPIキーとIssureIDをコピーしておきます

sample.png

  • キーのダウンロードが完了したら下記のいずれかのフォルダに配置します
    • Flutterのプロジェクトフォルダのパス/private_keys
    • ~/private_keys
    • ~/.private_keys
    • ~/.appstoreconnect/private_keys

※ドキュメントは見つからなかったのですが、コマンドを実行したエラーメッセージに上記のフォルダに配置するように書いてました

  • 配置できたら、シェルスクリプトのAPI_KEYとISSUER_IDを編集してください

実行

シェルスクリプトを実行すれば、ビルドとアップロードまで自動でしてくれるはずです。

おまけ

シェルスクリプトの最後かコマンドの後ろにafplayをつけると、コマンドが終わったら音を鳴らしてくれるので、完了に気づきやすくなります。

#!/bin/sh
fvm flutter clean
fvm flutter pub get
fvm flutter build ipa --release --flavor prod
# API_KEYとISSUER_IDについては後述します
xcrun altool --upload-app --type ios -f build/ios/ipa/*.ipa --apiKey API_KEY --apiIssuer ISSUER_ID
+ afplay /System/Library/Sounds/Ping.aiff

OR

./deploy_ios.sh;afplay /System/Library/Sounds/Ping.aiff;

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?