旧TestFlight廃止の今、シャレオツなアプリ配布ツールfastlaneでアプリ運用を高速レーンに乗り替えよう!!

by @mixiappwchr


みなさん切っても切れないアプリ配布作業どのようにお過ごしでしょうか？
旧TestFlightが終了になっても、アプリの配布作業はまだまだ続く昨今、アプリ配布周りで新しいツールがお目見えしました


# fastlane

![スクリーンショット 2015-03-04 1.13.43.png](https://qiita-image-store.s3.amazonaws.com/0/37731/4b379d8d-bfb9-a62f-4e65-818b1f9c4e99.png)


https://github.com/KrauseFx/fastlane

このツールは一つでいくつもの機能を持っているわけではなく、様々な単体機能をplugin的にそれらを好きにカスタマイズして使うことができるツールです。

例えばビルド、証明書周りの作成、テスト版の配布などなど、通常行うアプリがらみの配布作業に対する機能群に加え、スクショをとるなど変わった機能も持っています。

それぞれの機能を見てみましょう。

# 単体の機能群

## deliver
![deliver.png](https://qiita-image-store.s3.amazonaws.com/0/37731/023c6620-4899-d3ef-04d5-6809c656df2a.png)

https://github.com/KrauseFx/deliver
このツールは主にItunes Connectへの機能を備えています。スクショやmetadataの更新,
ipaのuploadなどです。Apple版のTestFlightにも対応できるので、旧TestFlightが使えなくなった今このツールを使ってみるのも良いでしょう。

![deliver.png](https://github.com/KrauseFx/snapshot/raw/master/assets/snapshot.gif)


![snapshot.png](https://qiita-image-store.s3.amazonaws.com/0/37731/14852dd5-d751-3d52-f7ca-832ac26f12fb.png)
https://github.com/KrauseFx/snapshot

自動でUI automationを使いスクリーンショットを生成してくれるツールです。deliverとの組み合わせによりstoreへのアップロードも可能です。

![frameit.png](https://qiita-image-store.s3.amazonaws.com/0/37731/2ad26400-9703-f4de-a691-edb3be23c125.png)
https://github.com/KrauseFx/frameit

スクリーンショットにiPhone端末のフレームをつけてくれます。snapshotと組み合わせて使うとよりそれっぽいスクショが出来上がります。


![pem.png](https://qiita-image-store.s3.amazonaws.com/0/37731/ee5145b3-b5da-e9bb-4ddf-17445cd04be2.png)
https://github.com/KrauseFx/pem

毎回作成が地味にめんどくさいpush通知用のpemを自動生成してくれます。

![sigh.png](https://qiita-image-store.s3.amazonaws.com/0/37731/acc94399-30ab-76ab-9bfe-a767cb2744b2.png)
https://github.com/KrauseFx/sigh
provisioningを作成したり,signを行ったりresignも出来ます。


![produce.png](https://qiita-image-store.s3.amazonaws.com/0/37731/45c036de-2dea-0d53-0aa3-f1c72a999bf8.png)
https://github.com/KrauseFx/produce
iTunes ConnectとiOS Dev Center両方に新しいアプリを作成することができるツール

![cert.png](https://qiita-image-store.s3.amazonaws.com/0/37731/50c87539-7b00-8249-4809-5895f6a2c3f1.png)
https://github.com/KrauseFx/cert
こちらは証明書を作成したりメンテナンスするツールです。


![codes.png](https://qiita-image-store.s3.amazonaws.com/0/37731/c3a1cfa5-6f58-37cb-ac14-d0495a7add0f.png)
https://github.com/KrauseFx/codes
プロモコードの発行用のツールです。


どうでしょう？非常に細かい単体機能が多いのですが、fastlaneがこれらの機能を統合して扱うことで、アプリの配布、申請などのデリバリーに関する機能を自分に細かく合わせてカスタマイズすることが出来ることがこのツールの利点でしょう。


![スクリーンショット 2015-03-04 1.18.59_3.png](https://qiita-image-store.s3.amazonaws.com/0/37731/74051a3b-c726-b083-7c02-780804c7f295.png)


開発者はこのfastlaneのtaskを好きなように作成することができます。デフォルトで作成されるサンプルの設定を見てみると

```
lane :test do
  snapshot
end

lane :beta do
  snapshot
  sigh
  deliver :skip_deploy, :beta
  # sh "your_script.sh"
end

lane :deploy do
  snapshot
  sigh
  deliver :skip_deploy, :force
  # frameit
end
```
テスト用、ベータ配布用,本番配布用でタスクを分けれます。また自分で作成したシェルスクリプトも挟めるので、その他で行いたい処理を追加することも可能です。

このツール先ほど紹介したnomadツールの一つにある配布ツールshenzhenと裏で連動しています。
https://github.com/nomad/shenzhen

そのためApple版TestFlightだけでなく、みんな大好きDeployGateなどの他のアプリ配布ツールとの連携も可能です。

https://deploygate.com/

plugin的な作りと、カスタマイズ性の高さはとても面白く、オシャレ感が半端ないツールです。一度皆さんも使ってみてはいかがでしょうか？



##### appwchr post
----

[Goodbye... Jenkins... Jenkinsを卒業してお手軽CI! iOSもAndroidもCircle CIでアプリのCIを回そう](http://qiita.com/appwatcher/items/4cdf39804d6e46ab7af5)

[まだTestFlight使ってたの？急げ！終了目前のTestFlightから,今すぐにiOSもDeployGateに移行しよう！移行パターンも紹介するよ。](http://qiita.com/appwatcher/items/632460e15fbdb81b7a71)

[Swiftを使ってみて直面した闇。現時点で現場でSwiftを採用すべきかどうかの判断材料](http://qiita.com/appwatcher/items/50295e82ab0095902aaa)

[iOSの開発をする上で絶対に使うべき！外せない！webサービス、開発ツール集【完全版】](http://qiita.com/appwatcher/items/07a3babcb9b6cefb307e)

[注目のiBeacomなどの波に乗り遅れないために！iOSのBluetooth開発を容易にするライブラリを書きました。]
(http://qiita.com/appwatcher/items/7491beffd7260b713542)

[まだまだあった！iOSの開発を劇的に改善する最新のwebサービス、開発ツール集１]
(http://qiita.com/appwatcher/items/f0024fe2ac34da345f04)

[さらに快適なアプリ開発を！iOSの開発をもっと劇的に改善する最新のwebサービス、開発ツール集2]
(http://qiita.com/appwatcher/items/c15d7311e71b4c2b77f1)

[スパゲッティから脱出！iOS開発における遷移の問題をすっきり解決する便利ルーティングライブラリをご紹介]
(http://qiita.com/appwatcher/items/259e8d13fff0547e90af)