「TestFlight」によるテストアプリ配信の省力化と開発ノウハウ
前回は「動くソフトウェア」を開発段階から維持するために活躍するHerokuとTestFlightのうち、Herokuについてご説明いたしました。
最終回である今回は、TestFlightの説明と、実際の開発の中で気付いた点等を共有させて頂きたいと思います。
TestFlightとは
TestFlight(https://testflightapp.com/)とは、iOSアプリのテスター向け配信をサポートしてくれるサービスです(※配信するためにはiOS Developer Programのライセンスが別途必要になります)。
図1:TestFlight |
iOSアプリを、AppStoreを介さずにテスターへ配布(AdHoc配布)する場合にやらなければいけない様々な作業を手伝ってくれるとても便利なサービスで、アプリのAdHoc配布を行う際には定番のサービスです。具体的には以下のような便利機能があります。
- テスターのデバイス情報を管理することができる(AdHoc配布を行う場合に各テスターのデバイス情報が必要なのですが、それを一括で管理することができます)。
- テスターにメールでアプリを一斉配信することができる。
- 配信したアプリをテスターがちゃんとインストールしたか等のアクティビティ情報を確認することができる。
こうした配信に対するサポートの他にも、チェックポイントAPIを用いてアプリのクラッシュレポートをTestFlightで受け取れるようにしたり、フィードバックAPIを用いてアプリに対するフィードバックをアプリ内からTestFlightへ送れるようにすることもできます。
また、アップロードAPIを活用して、アプリを画面を介さずにTestFlightへアップロードできる仕組みがあったりと、開発側の手順を省力化できる仕組みも用意されています。Xcodeでのビルドも含めてビルドスクリプトをJenkins(http://jenkins-ci.org/)に仕込んでおき、ビルドからテスターへの配布まで自動化するやり方もポピュラーなようです。
TestFlightを利用した開発側の作業の流れを簡単に説明すると、以下の図のようになります。
図2:開発側の作業の流れ(クリックで拡大) |
AdHoc配布を行う場合は、配布先のデバイス情報をiOSアプリのビルド情報に含める必要があるため、図のようにテスターのデバイス情報をiOS Provisioning Portalにアップロードし、ビルドで使用するProvisioning Profileを取得する必要があります。
このように、初回はProvisioning ProfileをXcodeにインストールする作業が必要になりますが、一度設定してしまえばXcodeでビルドしたipaファイルをTestFlightへアップロードしてテスターへ配布するだけの簡単な流れになります。
TestFlightにアカウントを登録する
それでは、早速AdHocアプリを配布できるところまで設定を進めてみましょう。まずはTestFlightにアカウントを登録しましょう。
図3:TestFlightへのサインアップ(クリックで拡大) |
Email AddressはiPhoneでお使いの「username@i.softbank.jp」のアドレスであることと、Developerを「ON」に設定する必要がある点だけお気をつけください。
TestFlightにデバイスの登録を行う
アカウントを登録するとTestFlightからメールが届きます。ここからお使いのiPhoneのデバイス情報をTestFlightに登録する手順になりますので、以下の通り設定してください。
- TestFlightより届いたメールからTestFlightのデバイス登録画面にアクセスします。
- デバイス登録画面にて「Register Device」をクリックし、デバイス情報を登録します。
- 「TestFlight WebClip」というプロファイルをiPhoneにインストールするよう画面が開くので、「インストール」をタップし、インストールを行います。
- 「完了」をタップすると、ホーム画面上に「TestFlight」のアイコンが追加されます。自分宛に配信されたアプリを、「このアイコンをタップして開く」画面からダウンロードすることができるようになります。
次のページではTestFlightのチームを作成し、実際にTestFlightを経由してアプリを配信します。