% bundle init
% echo 'gem "fastlane"' >> Gemfile
% bundle install
% fastlane init
[22:17:37]: What would you like to use fastlane for?
1. 📸 Automate screenshots
2. 👩✈️ Automate beta distribution to TestFlight
3. 🚀 Automate App Store distribution
4. 🛠 Manual setup - manually setup your project to automate your tasks
? 2
# 他にもいくつかの情報を入力
# fastlane/Appfile
# fastlane/Fastfile
# の2ファイルが作られる
Appfile
はチームの情報などが入っています。Fastfile
は実行したいタスクの内容が記述されています。おそらく次のようになっているはず。
default_platform(:ios)
platform :ios do
desc "Push a new beta build to TestFlight"
lane :beta do
build_app(workspace: "my-project.xcworkspace", scheme: "my-project")
upload_to_testflight
end
end
ちなみに僕はbuild_app
の前にincrement_build_number
を入れました。うっかり同じビルド番号で上げてしまうとエラーになって面倒だからです。
lane :beta do
increment_build_number # <= これを追加
build_app(workspace: "my-project.xcworkspace", scheme: "my-project")
upload_to_testflight
end
ちなみにincrement_build_number
を動かすために、Apple GenericなVersioningにする必要があります。
あとはコマンドラインで% fastlane beta
と叩くと実行されます。
これでAppStoreConnectにビルドが登録されて、あとは輸出コンプライアンスをチェックすれば内部テスターに配布されるところまではいけました。このプロジェクトはまだ外部テスター向けのレビューが通っていないのでその先までは検証できていないです。
ホントは輸出コンプライアンスのチェックもパスできるといいんけど、その操作はできないようです。でも、Xcodeで操作すると待って操作して待って操作してになってしまうから、それに比べたらだいぶいいですね。