背景
iOSアプリを他人にテストしてもらう時に利用できるTestFlightの仕様についてまとめた。
どのような形でテストユーザーにアプリを配布するか検討した時に、TestFlightについてまとまって書かれているページが意外と見つからなかったのでここに記録しておく。特に、内部テスターと外部テスターの違いについて比較している。
また最後に、筆者の場合のTestFlightの利用方法についても記載した。
TestFlightの仕様
内部テスター・外部テスター共通の仕様
- TestFlightを利用できるのはiOS8以上
- TestFlightアプリをAppStoreからインストールする必要がある
- アップロードしたビルドのテスト有効期限は30日
内部テスターの仕様
- 最大25ユーザーまで登録可能
- 1ユーザーあたり端末は10台まで利用可能
- 当該アカウントに対して管理者もしくは開発者権限を持ったiTunesConnectユーザーのみ登録可能
- iTunesConnectユーザーへの登録には AppleIDではない メールアドレスが必要
- メールアドレスは、新しくAppleIDとして登録される
外部テスターの仕様
- 最大1000ユーザー(≒1000メールアドレス≒1000端末)まで登録可能
- 一度登録したテスターの削除もできる
- メールアドレスを登録すれば利用可能
- メールアドレスは特にAppleIDである必要はない(AppleIDでもよい)
- 登録されたメールアドレスに対して外部テスターへの招待メールが送られてくる
- そのメールに記載してあるURLをiOS端末で開くと、端末のAppleIDに対してテスターの権限が紐付けられる
- アプリに対して最初のビルドに対しては、テスターに配信する前に審査が必須
- 通常のアプリ審査とは異なり1、2営業日程度で完了することが多いらしい
- 公式には30日以内の審査との記載がある
- 2回目以降(更新用)のビルドに関しては「重要な変更」がある場合は審査が必要
- ただし「重要な変更」かどうかは自己申告
- 軽微な修正の場合はすぐに変更が反映される
筆者の場合の使い分け
上記の違いを踏まえて、筆者の場合の使い分けを書いておく。
TestFlightを利用したテストを行ってもらいたいユーザーは、基本的に外部テスターとして登録する。テストに参加してもらうためには、メールアドレスを一つ聞いておくだけでよい。最初のビルドに対する審査だけは多少時間がかかるが、二回目以降はすぐに更新が反映できるため大きな問題にはならない。
内部テスターは先にiTunesConnectユーザーとしての権限を付与する必要があるため、単なるテスターとして登録してもらう場合は利用することはない。元々管理者または開発者として登録していたユーザーに、ついでに内部テスターとして登録してもらう程度だ。
内部テスターとして登録してもらうくらいだったら、adhoc版をビルドして共有する。そちらのほうが、端末のUDIDを確認してもらうだけで利用でき、手軽だ。もし開発中のアプリがiOS7以前にも対応するとすれば、いずれにせよadhoc版を用意する必要がある。iOS7以前の端末に対してはTestFlightが利用できないからだ。
まとめると、開発グループ内向けのテストはiOSのバージョンが限定されないadhoc版で行い、開発グループ外のユーザーにテストしてもらう場合には、メールアドレスひとつで登録できるTestFlightの外部テスターとして利用してもらうということになる。
参考
TestFlight Beta Testing - App Store - Apple Developer
https://developer.apple.com/testflight/
iOS - TestFlightのExternal Testersが利用可能になったので使ってみた - Qiita
http://qiita.com/koogawa/items/ec876e29e7f45a240b53
iOS8からのTestFlight利用に向けて - Qiita
http://qiita.com/nofrmm/items/bd8dda556ed88577c330