前書き
タイトルの通り、fastlaneでスクリーンショットを自動で撮ります。
間違ってるとこなんかはそっと指摘してください。
fastlaneのセットアップ
- bundle init
- Gemfileにfastlaneとcocoapodsを追記
- パス指定して、bundle install --path vendor/bundle
- bundle exec fastlane init
プロジェクトのディレクトリで
bundle init
Gemfileにfastlaneとcocoapodsを記載

bundle install --path vendor/bundleで、パスを指定してインストール
パスを指定しないとシステムにインストールされるみたいです。
bundle exec fastlane init
もしbundle execをつけなかったらfastlaneがgemの管理下に入らないという事?
これ以降対話形式になって色々質問されるので、答えてください。
xcode側の設定
- sampleUITestUITestsにSnapshotHelper.swiftを追加
- schemeの設定変更
- testExample()にsetupSnapshot(app)app.launch()追加
- スクショ撮りたいとこでsnapshot("single")
- Snapfileを編集
sampleUITestUITestsにSnapshotHelper.swiftを追加

edit schemeから設定変更


sampleUITestUITests.swiftのtestExample()にコード追加

Snapfileを編集

後書き
fastlaneでスクショを撮るにはUITestを使うんですが、今までUITestを使ったことがなかったので苦戦しました。
うまくいかない理由がfastlane側ではなく、UITest側にあると気付くまでが'なん'でした。
UITestのありがたみを少し理解したのでこの調子でUnitTestも使ってみます。
そしてfastlaneでビルドとバージョン番号をインクリメントするのも自動化したい。