今更感も否めないが,TestFlightについて書いてみたい.

みなさんは,TestFlightをご存知だろうか.iOSデバイス向けのアプリケーションテストサービスである.
iOSなどのモバイル系のネイティブの開発の大変さは,テストにある.

その理由は,

1.配布できるユーザが限られること.
2.AdHocビルドが煩雑であり,配布が難しいこと.
3.クラッシュログなどを回収し難いこと.

が上げられる.

残念ながら,1に関しては,改善の仕様がない.Appleの署名を通さなければ,アプリケーションのインストールはできない.
まさか,テストユーザにjailbreakを強要するわけにもいかない.
2点目も嫌な問題だ.配布を簡単にできないし,証明書をいちいちユーザに配るのは非常に面倒くさい.
3点目は絶望的だ.ネットワークを通じて,多数のテストユーザに配布すると,クラッシュログ等の回収は不可能に近い.

これらの署名の問題以外をなんとかしてくれるのが,TestFlightサービスだ.
しかも無料である.


アプリをインストールできるテスターの調整


Webアプリの画面インストールできるテストアプリがリスト表示される

テストユーザは,TestFlightにiOSデバイスと自分のメールアドレスを登録する.
ユーザは,TestFlightのWebアプリケーションを立ち上げると,自分がテスターになっているアプリケーションの最新のテストバイナリを常に確認し,インストールできる.
開発者は,テストユーザにメールで,自分のアプリケーションのテスターになってほしいとリクエストを投げる.
そうすると,開発者にはユーザのUDIDが見えるようになり,そのUDIDをAppleに登録し,証明書を作成し,アプリケーションをビルドする.


クラッシュログ確認


アプリケーションの状態

開発者が,アプリケーションをTestFlightに登録すると,ユーザに通知が届き,ユーザはTestFlight Webアプリケーションを使ってアプリケーションをインストールできるようになる.
開発者が,TestFlight SDKをリンクし,自分のTestFlightから降り出されたIDをアプリケーションに埋め込んでおけば,アプリケーションのクラッシュログ等が,自動的にTestFlightに集計され,Web上で確認できるようになる.

しかも,クラッシュの回数やログはWebサイトで簡単にどこからでも見られるのだ.

クラッシュログの回収やバイナリの公開の手軽さはもはやさっさとAppleにこのサービスを買収してもらいたいくらいのレベルである.

開発諸氏にかなりお勧めのサービスだ.