fastlane 入門 – fastlane Introduction –

Hello Internet and iOS developers,

fastlane、使ってますでしょうか?

fastlaneとは

3行で。

  • scan(後述)のような、xcodebuildラッパーコマンドや、その他様々な、ユーティリティコマンド(fastlaneの中ではactionと呼ばれる)を連携して動かせるツールです。。
  • ビルド、テストだけではなく、adhoc配布や、testflightテスター管理, アプリのsubmitまで自動化してしまうツールです。
  • これにより、作業の時間短縮、ミスの軽減につながります。

一旦、理解すると、これなしでは生きられないからだになってしまう、そんなツールなのですが、最初のステップを乗り越えるのが非常に困難なツールだと思います。
また、あまり(日本語の)情報がないような気もするので、なんか難しそうってのをまず取っ払うための解説をちょっと書いてみます。

まずはinstall

まずは、とりあえずインストールしないと始まらないので、インストールしましょう。

[sudo] gem install fastlane [--no-document]

(gemって何ですか?という人がいるかもしれませんが、そこまでレガシーではないMacならば動くコマンドなので、)terminalでタイプしてみてください。

セットアップ

作っているアプリのディレクトリに行って、

fastlane init

と打ってみましょう。するといろいろ聞かれますが、必要に応じて入力してください。

ビルドしてみる

ここが多分、ハマリどころだと思うんですが、fastlaneを使うような開発者の場合、ディレクトリ構成が複雑だったり、projectfileがいろいろあったりとかして、ビルドするだけでも大変みたいなことがあると思います。なので、Readmeにあるみたいに

gym

とか

scan

で一撃です、みたいなのはおそらく動かないと思います。

まずは、ビルドしてテストするというところまで、書いてみようと思います。
fastlaneの中の、scanというコマンドを使用します。

scan

必要なオプションは、おそらくこんな感じかと思います。

scan --workspace xxxx.xcworkspace --scheme yyyyyy --devices "iPhone 6s" --clean

これでUnit Testが動きます。

Fastfileに書く

lane :test do
  scan(
    workspace: "Example.xcworkspace",
    scheme: "Example Scheme",
    devices: ["iPhone 6s"],
    clean: true
  )
end

と言ったように、オプションをrubyの引数で書いていきます。
Scanfileというオプションの定義ファイルを作ることもできます。詳しくはこちら
また、Scanfileに買いたオプションが読み込まれますが、Fastfileの方に書くことでオプションの上書きができるようです。

これにより、テスト結果の出力もhtmlやjunit形式で行われ、browserで確認したりもできるようになります。(要設定)

意外と簡単にできますね。

fastlane使っていく

xcodebuildでいいじゃないかと思うところもあるかもしれないですが、
思ったより、いろいろできて楽しいです。あと、testflightへのビルドアップロードなど時間かかるコマンドの最後に

fastlane saves your time

みたいなのを出してくれる(出さないのもある)ので、時間短縮できた実感がある。多分、time savingできてると思う。

以上、fastlaneの紹介と導入でした。

Peace!

Leave a Reply

Your email address will not be published. Required fields are marked *