WWDC 2014でAppleはiOS 8の開発ツールにTestFlightを統合すること発表した。目的は開発者にベータテストプログラムを準備するための選択肢を提供し、テストプロセスを簡単にすることだ。これによって開発者が長らく不満を抱いていたiOSアプリのテストの難しさを解消する。
Appleはこの発表の前、今年の2月にBurstlyを買収している。同社は、TestFlightの開発元だ。この買収によって、Androidのサポートが終わり、ユーザの利用を分析することができたTestFlight SDK for iOSの提供も中止された。そして、TestFlightはiTunes Connectへ、新しい機能とともに統合された。
TestFlight Beta Testingの新しい機能は以下の通り。
-
ベータテスターの簡単な登録
App Storeを経由しないでアプリをインストールする基本的な仕組みはアプリをインストールしたいデバイスの識別子(UDID)を開発者のアカウントに追加し、プロビジョニングプロファイルを生成する必要がある。
新しいTestFlightでは、UDIDは不要で、テスターはApple IDをメールするだけでベータテストプログラムに参加できる。これによってアプリをデバイスにインストールできる。
-
より大きなベータテスターベース
iOSの開発者が長らく不満だったのは、開発者アカウントに追加できるUUIDの数が少ないことだった。ベータプログラムに参加できる人数が限られてしまうのだ。今回の統合によって、開発者はApple IDに1000人までベータテスターを追加することができるようになる。
さらに、開発者は25人まで内部でテスターを登録することができる。このテスターはiTunes Connectアカウントが必要で、アプリの最新のビルドにアクセスできるようになる。
-
シンボルが読めるようになっているクラッシュレポート
クラッシュのレポートは以前からiTunes Connect上で開発者に提供されていた。しかし、この機能は開発者にとって不十分なものだった。理由はいくつかある。TestFlightはこれを改善し、開発者がクラッシュログをすべて見れるようにする。しかし、これが実現するのは、来年だ。また、クラッシュログが自動的にシンボル化されるようになる。
これらの新しい機能には注意点がある。
まず、ベータテスターが利用できるようになる前に、アプリはレビュープロセスを通過していなければならない。これに頭を悩ませる開発者もいるだろう。Ole Begemann氏は数日かかるレビューの時間は"効率的なベータリリースプロセス"の役に立たないと書いている。実際、Appleはこれが開発者になって問題になることを認識しているようだ。同社は更新の配布には少し緩和されたポリシーを適用し、"更新に大規模な変更がない場合は、Appleのレビューなしで ... ベータテスターに更新を配布できるようにしています"。更新に大規模な変更がある場合は、開発者は"iTunes ConnectでAppleへ連絡して、再レビューをしてもらいます"。
また、最新のビルドだけテストできる点も注意が必要だ。iMoreの開発者であるNick Arnott氏はAppleがデモの中で、最新以外のすべてのビルドが"Inactive"になっていたことを見つけた。ベータテスターが古いビルドにアクセスできるかどうかは明らかではないが、これは"多くの人にとって問題になる"。というのも、ベータテスターはアプリの以前のバージョンにアクセスして重大なバグが最新のアプリに影響を与えていないか確かめる必要があるからだ。
最後に注意しておく必要があるのは、TestFlightはiOS 8がリリースしてからでないと使えないということだ。したがって、iOSの古いバージョンやAndroidをサポートしようとしている開発者はTestFlightに依存したテストはできない。代替としてHockeyAppやCrashlyticsを使うといいだろう。