mcpField
F
flutter-fastlane-one-click-beta

flutter-fastlane-one-click-beta

github.com/rodydavisクラウド・DevOps6082 回インストール2 週間前に更新
リポジトリ

flutter-fastlane-one-click-beta について

Fastlane と macOS Automator を使い、App Store と Google Play へのベータ版・リリース版提出を自動化する Flutter 開発者向けの設定ガイドです。

主な機能

  1. 01iOS と Android の Fastlane 設定
  2. 02ベータ版とリリース版の lane 例
  3. 03メタデータとスクリーンショットの任意取得
  4. 04Automator によるワンクリック起動

活用シーン

  1. 01Flutter アプリのベータ版を両ストアへ自動アップロード
  2. 02リリーススクリプトのデスクトップショートカット作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/rodydavis/skills --skill flutter-fastlane-one-click-beta

インストール後、Claude Code で/flutter-fastlane-one-click-betaを入力して読み込まれたか確認します。

詳細

Flutter + Fastlane(ワンクリックでベータ版を公開)

1. Flutter をインストール

Flutter をダウンロード

README の画像

2. 新しい Flutter プロジェクトを作成

Flutter を始めたばかりの場合は、こちらの便利なガイドで、新しいプロジェクトを手順に沿って作成する方法を確認できます。

README の画像

3. iTunes Connect でアプリを作成

iTunes Connect に慣れていない場合は、こちらの記事で、App Store への最初のアプリの登録と設定方法を確認してください。

4. Google Play でアプリを作成

Google Play Console でのアプリの設定は複雑な場合があります。問題が発生した場合は、公式リファレンスとこちらのガイドを確認してください。

README の画像

5. Project > ios に移動して Fastlane を設定

リファレンス

6. Project > android に移動して Fastlane を設定

リファレンス

7. iOS と Android の Fastlane Fastfile を更新し、各プラットフォームに応じて変更

  • 「YOUR PROJECT PATH」を、Finder でのプロジェクトのパスに変更してください。

  • 各 Fastfile には、該当するプラットフォームのコードだけをコピーしてください。たとえば、iOS には default_platform(:ios)、Android には `default_platform(:android)1st を使用します。

update_fastlane

default_platform(:ios)

platform :ios do
  desc "Push a new beta build to TestFlight"
  lane :beta do
    increment_build_number(xcodeproj: "Runner.xcodeproj")
    build_app(workspace: "Runner.xcworkspace", scheme: "Runner")
    upload_to_testflight(skip_waiting_for_build_processing: true)
  end
  desc "Push a new release build to the App Store"
  lane :release do  
    increment_build_number(xcodeproj: "Runner.xcodeproj")
    build_app(workspace: "Runner.xcworkspace", scheme: "Runner")
    upload_to_app_store(submit_for_review: true,
                            automatic_release: true,
                            skip_screenshots: true,
                            force: true,
                            skip_waiting_for_build_processing: true)
  end
end


  
//YOUR PROJECT PATH > android > fastlane > Fastfile
default_platform(:android)

platform :android do
  desc "Runs all the tests"
  lane :test do
    gradle(task: "test")
  end

  desc "Submit a new Build to Beta"
  lane :beta do
    gradle(task: 'clean')
    increment_version_code
    sh "cd YOUR PROJECT PATH && flutter build apk"
    upload_to_play_store(
      track: 'beta',
      apk: '../build/app/outputs/apk/release/app-release.apk',
      skip_upload_screenshots: true,
      skip_upload_images: true
    )
    # crashlytics
  end

  desc "Deploy a new version to the Google Play"
  lane :deploy do
    gradle(task: 'clean')
    increment_version_code
    sh "cd YOUR PROJECT PATH && flutter build apk"
    upload_to_play_store(
      track: 'production',
      apk: '../build/app/outputs/apk/release/app-release.apk',
      skip_upload_screenshots: true,
      skip_upload_images: true
    )
  end
end
  • Android の場合は、ここから increment_version_code をインストールしてください。

失敗することがあり、その場合は次のコマンドを実行する必要があります。

bundle exec fastlane add_plugin increment_version_code

  • iOS の場合は、agvtool を有効にして Generic Versioning を設定し、increment_build_number を使用します。

README の画像

出典

8. メタデータ(任意)

  • iOS では、Fastlane を使って、スクリーンショットを含むアプリの既存メタデータを iTunes Connect からすべてダウンロードできます。ターミナルでプロジェクトに移動し、次のコマンドを実行します。

fastlane deliver download_metadata && fastlane deliver download_screenshots

9. Automator を開く

現時点では、すべてコマンドラインから実行できます。ターミナルで「cd 」に続けてプロジェクトフォルダーをドラッグし、Enter キーを押してプロジェクトに移動したら、「cd ios && fastlane beta」または「cd android && fastlane beta」と入力すると、どちらも Fastlane が実行されます。

README の画像

ワンクリックでアプリを Google Play と App Store に提出するには、Automator を使用します。新しい Automator アプリケーションを作成します。「Ask for Confirmation」と「Run AppleScript」を検索して、ドラッグして追加します。

README の画像

ベータ版とリリース版用のスクリプトは以下のとおりです。自動化するアプリごとに、ベータ版とリリース版の Automator アプリケーションを作成する必要があります。任意の場所に保存し、デスクトップにエイリアスを作成します。

  • YOUR PROJECT PATH を、Finder でのプロジェクトのパスに変更してください。

ヒント:プロジェクトごとにバージョン管理し、簡単にアクセスできるよう、Automator アプリケーションはプロジェクトの GitHub リポジトリに保存しています。

//Beta
on run {input, parameters}
	tell application "Terminal"
		activate
		do script "cd YOUR PROJECT PATH/android && fastlane beta && cd YOUR PROJECT PATH/ios && fastlane beta"
	end tell
	tell application "System Events"
		try
			set visible of application process "Terminal" to false
		end try
	end tell
end run

//Release
on run {input, parameters}
	tell application "Terminal"
		activate
		do script "cd YOUR PROJECT PATH/android && fastlane deploy && cd YOUR PROJECT PATH/ios && fastlane release"
	end tell
	tell application "System Events"
		try
			set visible of application process "Terminal" to false
		end try
	end tell
end run

10. 試してみましょう!

これですべて動作するはずです。automator アプリケーションをダブルクリックすると、アプリをリリースするための確認ポップアップが表示されます。スクリプトはバックグラウンドでターミナルを実行するため、Flutter アプリケーションの開発に集中できます。fastlane によるアプリのアップロード状況を確認したい場合は、ターミナルアイコンをクリックすると、ターミナルウィンドウが再び表示されます。お読みいただきありがとうございます。ご質問があれば、ぜひお問い合わせください!

コメント