アプリではValue Proposition(提供価値)やUX(ユーザー体験)が大切なことはもちろんですが、致命的なバグや・初歩的なユーザビリティの欠陥が無いことが大前提です。なので、公式のアプリストアでアプリを配る前に、友人や同僚にアプリを配って試運転をしている開発者の方は多いかと思います。
 
公式ストア経由以外でアプリを配布するためのツールとしては、Test Flightというサービスがデファクトスタンダードでした。しかし、Test Flightサービスを運営するBustly社がAppleに買収されたことによって、状況がちょっと変わってきました。
 
iOSではTest FlightサービスがAppleの開発者向け管理画面(iTunes Connect)の一機能として組み込まれ、Android向けのサービスは残念ながら終了となりました。
 
これからどうすればいいか?AppleのTest Flightを使ったほうがいいのか。何かほかのツールを探したほうがいいのか。
 
元祖TestFlightと比べると別物になった感がありますが、僕の結論としては、生まれ変わった公式Test Flight (iTunes Connect)を使い続けることにしました。
 
ただ、実際に使ってみて、ちょっとトリッキーな点もいくつかあったので、それらのTIPSも含めてシェアしたいと思います。
 
Apple公式Test Flight on iTunes Connectの概要はこんな感じ。
  • Internal Test(内部テスト)とExternal Test(外部テスト)がある
  • Internal Testはその名の通りチーム内(開発者、デザイナー、マーケターなど)にアプリを配布するためのもの。登録15名まで。アップルの審査が要らない。
  • External Testは1000人までアプリを配ることができる。アップルの審査が必要。

詳しい使い方はこちらを見ていただくのがよいかと。

 
まずは、このサービスのメリットをまとめてみました。
 
  1. 完全無料(開発者登録してれば)
  2. プロビジョニング気にしなくていいから開発者がラク
    • iOSアプリでは、Appleのプロビジョニング(身元保証書みたいなもの)がないとアプリをインストールするができませんでした。なので、アップル以外が提供するアプリ配布サービスでは、こんなながーーいプロセスを経ないとアプリを配布することができませんでした。
    • 公式Test Flightではこんな感じでだいぶシンプルに使えるようになりました。ステップ数で言うと半分くらいですかね。何よりも新しいユーザーを追加するたびに、provisioningを追加してビルドし直す、という作業をしなくてよいのが素晴らしいです。
  3. テスターさんもラク
    • 今までは、Appleのタイトコントロールのおかげで、ユーザー(テスター)さん側でも、アプリの「プロファイル」を端末に入れてもらう必要がありました。こんな感じのことをお願いする必要がありました。技術に明るい人ならいいのですが、アプリを本当にテストして欲しい人って、そうじゃないケースのほうが多かったり
    • 公式Test Flightでは、これも必要無くなりました。Test FlightというアプリをApp Storeからダウンロードすると、この辺のことをあとはよろしくやってくれるのです。
  4. Internal Testではアプリ内課金(IAP)のテストができる
    1. 僕自身はIAPを自分のアプリにいれたことが無いのですが、先日参加したiOS All Star勉強会で教えてもらいました。
 
デメリットも結構ありますw
 
  1. Internal Testは、プロジェクト掛け持ち不可
    • ある人を僕のプロジェクトに登録したところ、Appleさんから「すでに他のプロジェクトのメンバーだから登録できません」と言われました。普通に複数のプロジェクトを掛け持ちしている人なんて沢山いると思うのですが・・・
  2. External Testはアップル審査が必要
    • そもそもβ版の配布になぜ審査が要るんですかね?Androidなんて公式リリースでも審査無いのに・・・ただ、審査期間は通常の審査に比べて著しく短かったです。だいたい1日から長くても3日程度。おそらく審査基準も通常審査よりも甘め。年末の審査すごく混みあう時でも、External Testの審査は即日OKが出ていたりしたので、違うチームが審査しているのかもしれません。 ちなみに、Appleのカスタマーサポートには、βテストなのにそもそも審査するのがおかしい、とメールしておきました。
  3. テスターのデバイスがiOS8以降でないとダメ
    • iOS8は浸透が遅いので、未だに結構iOS7の人がいます・・・
  4. Xcode Beta versionでビルドしたアプリは受け付けてもらえない
    • なのでWatchアプリとかはまだ配れません。
 
注意事項
 
  • テスター登録はApple IDのメールアドレスで
    • テスターを友達にお願いするときには、Apple IDとして使っているメールアドレスを聞いて、それを使うようにしてください(これによってprovisioning / profileまわりをよろしくやってくれるので)
  • 招待状はApple標準メーラーで開いてもらう
    • テスターさんのメールアドレスがgmailだった場合、招待状をGmailアプリで開くとなぜかテスト用アプリがインストールできませんでした。Apple標準メーラーで招待状を開くとインストールできました。
 
まとめ
 
というわけでバラ色のソリューションという訳ではありませんが、僕にとってはprovisining/profileまわりを一切考えなくてアホアホ配布できるというのは、デメリットを補って余りある利点だと思ったので、このまま公式Test Flightを使っていくことにしました。
 
おまけ情報ですが、アプリのバイナリファイル(IPAファイル)をウェブにアップロードするだけで、ウェブ上で擬似的にアプリを実行できるappetize.ioといイケてるサービスもあるみたいです。
 
実機で体験するとのは違うとは思いますが、目的によってはこういうものを使ってもいいかもしれないですね。
 
あと、Androidは?という声が聞こえて来そうですが、Androidはprovisioning / profile等の面倒がないので、正直どのサービスを使ってもそれほど変わらないかなーと思います。配るだけなら、ツールを使わなくても、apk本体をメールで送ることもできますし。
 
候補としては、hockey app, ubertesters, deploygate, crashlyticsあたりがメジャーな選択肢で、値段・ユーザー数・プロジェクト数・その他の付加機能等を比べながら選んで頂ければよろしいかと。
 
以上、アプリビジネス/アプリ開発やってる方々の参考になればうれしいです!