iOS8からのTestFlight利用に向けて

#はじめに
公開されている情報を元に個人で保有する開発者ライセンスで試した内容を記載します。
またこちらに情報については、外部ユーザの利用がなかった時期の内容です。
そのため、書いている内容は内部ユーザのことと、と解釈してください。

#利用するための諸条件

* 利用する開発者ライセンスのiTunesConnectへAppleIDを登録済みのテスター
* Xcode6、またはApplication Loader 3の利用
* TestFlightアプリのインストール（配信するデバイスはiOS8以上であること）
* テスターの端末、PCでのメールを受信可能な環境設定

![スクリーンショット 2014-09-13 8.14.41.png](https://qiita-image-store.s3.amazonaws.com/0/12362/3da60713-bca8-3290-2c7c-c5d8a2483ca8.png)
##開発者ライセンス
Standard版では確認済み。Enterprise版ではなし。
これ以外のライセンスについては未確認です。
※Program License Agreementに明記されています

##Xcode

（1）Archive後にValidateをかけます
![スクリーンショット 2014-09-14 2.59.45のコピー.png](https://qiita-image-store.s3.amazonaws.com/0/12362/0bf9f306-d9af-302e-776c-8a4d62ec3e41.png)

（2）Submitをします
>削除ボタンが見つからないため、アップロードしたバイナリの取り消しは出来なくなっているかもしれません。
一方、提出したバイナリの選択はiTunes Connectで行えます。
リビルドが必要になる場合も考えられるので
リリースバージョンに注意してバイナリのアップロードを実行してください。

 上記画像の青の`Validate`ボタンが`Submit`になっている以外は同じです。
今までと違って、この時点ではまだ**Appleへ申請したことにはなっていません**。

##iTunes Connect

###TestFlightの利用
(1)iTunesConnectにアプリがアップロードされたら（少し時間がかかる印象です）
Appの管理から対象のアプリを選択し、プレリリースタブを選びます
![スクリーンショット 2014-09-14 2.59.45のコピー.png](https://qiita-image-store.s3.amazonaws.com/0/12362/88aab898-e95f-6284-24c9-28475dc1736d.png)

(2)`TestFlightで利用可能`をONにします
###提出したバイナリファイルの操作

Xcode（またはアップローダ）から提出したアプリはiTunesConnectで確認できます

配信可能なアプリは提出した`Build`の番号が一番大きなものが自動で有効になり、他のバージョンは`非アクティブ`として不活性化されます。

![スクリーンショット 2014-10-05 23.39.12.png](https://qiita-image-store.s3.amazonaws.com/0/12362/1108c706-6d54-8040-8593-d6ed2cdedf7a.png)

正式に申請用に設定する場合
`ビルド`の横にある(+)ボタンを押すと追加できるアプリの一覧が表示されます
![スクリーンショット 2014-10-05 23.27.32.png](https://qiita-image-store.s3.amazonaws.com/0/12362/0060040d-538d-2a01-53d8-943fdaec767a.png)

TestFlightで不活性化されていても申請用に設定する場合は選択が可能になっていました。
![スクリーンショット 2014-10-05 23.21.30.png](https://qiita-image-store.s3.amazonaws.com/0/12362/4d197190-cd6c-fa8f-d3dc-cdb8229aba8b.png)

Appleへ申請するまでは一度選択したアプリの再設定は可能になっています。

![スクリーンショット 2014-10-05 23.22.03.png](https://qiita-image-store.s3.amazonaws.com/0/12362/c19a41e4-02b4-2444-d699-33f7767ebea1.png)


##配信するiOS端末
iOS8以上のOSであることが条件ですが、配信するアプリのtargetOS（配信可能な下限バージョン）はもっと`低くても可能`です。
一度配信したアプリは、`TestFlightで利用可能`を設定している限りアプリのバイナリを更新するたびにTestFlightから

 * Push通知 :calling: 
 * メール :email: 

で更新を通知されます。

##アプリ
(1) 招待されたユーザは自分のiOSデバイスにTestFlightをダウンロード
iOS7以下のデバイスでは使用できません
https://itunes.apple.com/jp/app/testflight/id899247664?mt=8

(2) TestFlightの規約に承諾した上で利用が可能になります

(3)iTunesConnectで設定が完了していると、テスターにメールが届きます。
`TestFlight: You're invited to test [アプリ名] [バージョン]`
※件名は今後変更がある可能性があります

(4)アプリのダウンロード
iPhone本体に届いた場合はそのままメール中のURLをクリックすればダウンロードがはじまります。
PCなど別の端末に設定したメーラーに届いた時は、メール本文からダウンロードするアプリのURLをコピーして`TestFlightをインストール済みの端末`でSafariからURLを入力します。

(5)TestFlightを利用しているアプリにはオレンジの丸がアプリ名の横に表示されるようです
![Screenshot 2014.09.18 08.06.50.png](https://qiita-image-store.s3.amazonaws.com/0/12362/15487c66-987e-90de-ba34-0263fa07954e.png)

#TestFlightのテスター
個人ライセンスでも別のAppleIDユーザを招待できるようになっています。

##iTunesConnectにユーザを追加
テストユーザがTestFlightを利用するには
内部ユーザ：開発者プログラムのiTunesConnectに登録済みであること。
外部ユーザ：開発者プログラムの登録不要。

###AppleIDを登録済み
別のStandard版ライセンスのiTunesConnectに登録済みのAppleIDは利用不可です。AppleIDを別途用意する必要があります。

![スクリーンショット 2014-09-13 7.55.03.png](https://qiita-image-store.s3.amazonaws.com/0/12362/d4645073-97cd-2688-fe1b-087baabb3265.png)

登録メールが届きます
![スクリーンショット 2014-09-13 7.56.58.png](https://qiita-image-store.s3.amazonaws.com/0/12362/e826e196-e7bc-5108-ae04-0c4bee179e42.png)

完了するとiTunes Connect Usersに追加されます。
![スクリーンショット 2014-09-13 8.05.54.png](https://qiita-image-store.s3.amazonaws.com/0/12362/b1b5b69e-9e2e-eb7c-f98c-30e224187db5.png)

###AppleIDに未登録
AppleIDの登録を促すメールがユーザに届きます。AppleIDへの登録が完了してから使えるようになります。

##内部テスターの権限

一番ミニマムの権限を持つ"技術"のユーザの権限を確認しておきます。
![スクリーンショット 2014-09-29 7.22.13.png](https://qiita-image-store.s3.amazonaws.com/0/12362/2eae83ab-e2ca-cf0d-7bc3-efc27acf0b2d.png)

###テスター（技術）の権限
![スクリーンショット 2014-09-29 7.57.13.png](https://qiita-image-store.s3.amazonaws.com/0/12362/436bbb53-d83b-d712-551d-ec8b200a90cd.png)

マイApp
　※表記が頻繁に変るので違う名前になっている場合もあるかも
　登録中のアプリの情報全部の閲覧可能で、登録情報の変更も可能。

ユーザと役割
　登録中のテスターの情報が全部見れます

使用には
見知らぬユーザに配布するものでなく、あくまで、内部のテスターに利用する機能という認識がいります。

##テスターが使用する端末数の制限
一つの内部ユーザのAppleIDで使えるデバイスの上限は10端末でした。
10端末を超えた端末については、登録済みのデバイスをiOSデバイスのTestFlightアプリから削除することで
10端末未満にしてから登録が可能になりました。
外部ユーザも未確認ですが、似たような感じかと思います。

#参考
https://developer.apple.com/library/prerelease/ios/documentation/LanguagesUtilities/Conceptual/iTunesConnect_Guide/Chapters/BetaTestingTheApp.html

#さいごに
単一のAppleIDでの運用が外れたことで、チーム開発のようなことが可能になり、法人ライセンスとの差が縮まった気がします。
誤ってプレリリース版をストアに出さないためのストッパーとしてアプリ申請のフローが以前と変っているので注意が必要です。
利用できる端末はiOS8が必須な一方でアプリのバージョンは下位バージョンでも可能です。
iOS8に集約させようとしているAppleの意図を感じます。