TestFlightでアプリをテストしてもらう時に読んでもらうページ


**この内容はAppleに買収されiTunes Connectに統合される前のTestFlightについての情報です、testflightapp.comは2015/2/26に終了です**

エンジニアじゃない人にもTestFlightを使ってもらうための説明ページ。

## TestFlightって何？

[TestFlight](https://testflightapp.com/)はアメリカにあるTestFlight App Inc.が運営している iOSアプリをチームメンバーにインターネット経由で配布するための無料のサービスです。

iOSアプリのテストツールとしてはメジャーなサービスです。Androidアプリも対応していますが省略します。


## なぜTestFlight使うのか？

iOSアプリは基本的に公式のAppStoreからしかインストールできません。

開発者(iOS Developer Program)には最大100台の実機にインストールしてテストすることが許可されていますが、事前に機器のDeviceIDをアプリに紐づけておく必要があります。ここでiOS機器のDeviceIDを調べてもらったり、USB経由でインストールする場合はiOS機器をいちいち開発者のマシンに繋いだりと、面倒な作業が発生します。

これらのテスターと開発者間に発生する面倒な作業を円滑にするためにTestFlightが必要です。


## TestFlightで何をすればいいの？

TestFlightでテスターの皆さんが行うことは以下のようなことです

* アカウントの登録
* テストで使うiOS機器をアカウントに紐付ける
* アカウントを開発者のチームに加えてもらう
* チームからリリースされたアプリをインストールする

アカウントと機器、チームの紐付けを一度設定できれば、後はチームの開発者からリリースされるアプリをTestFlightからインストールしてアプリを試すだけです。

## TestFlightアカウントとチーム

### アカウント

* TestFlightアカウントは無料で作成できます
* アカウントに必要な情報はメールアドレスとパスワード名前です
 * アプリケーションがリリースされたときにTestFlightからメールによる通知がきます
 * iOS端末でTestFlightからのメールを読むことは必須ではありません。TestFlightのウェブサイトからアプリをインストールできるのでPCで通知メールを見てiOS端末でサイトにアクセスするという運用も可能です
 * メールアドレスを使ってTestFlight経由で開発者とメッセージをやり取りできますが、TestFlight上でコミニケーションするかどうかはプロジェクトによるでしょう

### チーム

* TestFlightには **チーム** という概念があります
* アプリケーションをインストールするにはそのアカウントが開発者が作成したチームに属する必要があります
* (チームに所属しない状態で公開してもらう別の方法もありますがここでは省略)
* チームにはリーダー(おそらく開発者の誰か、複数人いることも)が存在し、チームに入るためにはリーダから招待メールをうけて受理するという作業になります
* アカウントは複数のチームに所属することができます。逆に言えば開発者(チーム)が異なるアプリケーションをテストする場合はそのチームごとに所属することが必要になります

## TestFlightアカウントにiOS機器を紐付ける方法

元記事: http://help.testflightapp.com/customer/portal/articles/829600-how-do-i-connect-my-device-to-my-account- より。

TestFlightでアカウント作成したら次にiOS機器をTestFlightのアカウントに紐付けます。この作業により開発者がそのiOS機器のDeviceIdをTestFlightから確認でき、そのiOS機器でインストールを許可するアプリケーションを作成することができます。

**開発者があなたのDeviceIDに紐づけてアプリを作り直してアップロードする一連の作業があるので、アカウントセットアップした直後にアプリケーションが表示されなかったり、インストールできなくても慌てないでください**

iOS端末上でTestFlightからのWelcomeメールを開くとそのメールからログインが出来て、その時にデバイスをあなたのアカウントに紐付けることができます。WelcomeメールがなくてもiOS端末のMobile Safariで www.testflightapp.com/m/login を開けば大丈夫です。

![](https://dl.dropbox.com/u/8932138/screenshot/testflight/testflight_95965.png)

### ログイン

iOS上でログインページに行ったらログインをします。

![](https://dl.dropbox.com/u/8932138/screenshot/testflight/testflight_95966.png)

### Connect Deviceを押す

するとデバイスを紐付けるページに飛びます。``Connect Device``ボタンをタップします。

![](https://dl.dropbox.com/u/8932138/screenshot/testflight/testflight_95968.png)

### profileのインストール

Profileのインストールを求められるので``Install``ボタンをタップします。ProfileがインストールされるとTestFlight mobileのページに戻ります。

Profileをインストールする際にパスコードの入力を求められることがあります。これは設定 > 一般 > パスコードロックの設定によります。

![](https://dl.dropbox.com/u/8932138/screenshot/testflight/testflight_95969.png)

### メインページ

メインページです。ここからそのiOS機器でダウンロードが許可されたアプリケーションが表示されます。

すぐにはアプリケーションは表示されないでしょう。開発者が紐付けたiOS機器でインストールできるようにするためにアプリケーションをパッケージしなおし、TestFlight上で配布の設定をしないといけないからです。開発者の作業が終わるまで待ちましょう。

![](https://dl.dropbox.com/u/8932138/screenshot/testflight/testflight_95971.png)

### ホーム画面

メインページのWebクリップがホーム画面に追加されるので、そこからTestFlightモバイルページに簡単にアクセスできるようになります。

![](https://dl.dropbox.com/u/8932138/screenshot/testflight/testflight_95973.png)

## トラブルシューティング

### アカウントを登録したのにアプリケーションが表示されない

表示するためには開発者側がアプリと機器のIDの紐付けをしたりしないといけないので開発者側の作業を待つ必要があります。開発者に作業の進捗を確認してください。

### ダウンロードが途中で失敗する

TestFlight側の配信サーバ、ネットワークが不安定なのかもしれません。時間を置いて試してください。何度やってもダメな場合は次の項目を参照ください。

### インストールができない

#### 原因. ログアウト状態になっている

TestFlightサイトでログアウト状態だと失敗することがあります。しばらくTestFlightを使っていない状態でメールのリンクからインストールしようとすると陥りがちです。

解決方法としてはSafariでTestFlightサイトを開いてログインしているか確認して、ログインしていなければログイン後にもう一度試してください。

#### 原因. アプリとiOS機器の紐付けがうまく反映されない

Provisioning Profileに機器が紐付いていなくてインストールできないことがあります(このビルドにはProvisioning Profileが必要ですというボタンが表示される)

何故か開発者があとからProfileだけをアップロードしても解決できないことがあり（キャッシュか何か?）、解決方法としては開発者にProfileを更新したものをバージョン番号を上げた新しいビルドとしてリリースしてもらうとうまくいくことがあります。

### ホーム画面のTestFlightアプリが消えてしまった、アクセスできなくなった

[iOSでTestFlightアプリを再インストールする方法](http://qiita.com/makoto_kw/items/88c43a6e517700d947ee) に再インストール方法があります。

### iOS機器を紐付けするとプロファイルのインストールエラーになる

TestFlight上でiOS機器を紐付けする際にプロファイルのインストールを求められそれを行うと以下のようなエラーが発生することがあります。

> プロファイルをインストールできませんでした。
このSCEPサーバ構成はサポートされていません。

![TestFlightAcessProfileInstallError_300x513.png](https://qiita-image-store.s3.amazonaws.com/0/2435/29cb910b-9510-997d-a2b4-c16fec6f73ad.png "TestFlightAcessProfileInstallError_300x513.png")

このエラーがでても問題なく進められるようです。
参考: http://stackoverflow.com/questions/26696155/testflight-profile-installation-failed-the-scep-server-return-an-invalid-respon

1. iOSの``設定``を起動し、``Safari``をタップする
2. ``履歴とWebサイトデータを消去`` を実行する
3. ``Safari``を開き testflightapp.com にログインする
4. 紐付け処理を行い、上記のプロファイルのインストールエラーを表示
5. ``OK``を押す
6. 左上の``キャンセル``を押す

プロファイルのインストールは完了していませんが機器が紐付いた状態になりアプリの一覧画面が表示できるようになります。