リンクを公開するだけでアプリのベータテストができるTestFlight Public Linkが超便利

## ベータテストの悩み

開発したiOSアプリをベータテストするときには、TestFlightや[deploygate](https://deploygate.com)をつかっています。

どちらもとても便利なサービスですが、テスターのメールアドレスやUUIDの登録が必要なので、気軽にテストをお願いしづらいのが悩みどころでもありました。

そんな悩みを解決してくれるサービスがアップルからリリースされました。

その名も「TestFlight Public Link」です。

## TestFlight Public Linkとは

TestFlight Public Linkは、WWDC2018の [What's New in App Store Connect](https://developer.apple.com/videos/play/wwdc2018/301/) で詳しく紹介されていて、9月26日にサービス開始しました。

なんと、「パブリックリンクを公開するだけで、アプリのベータテストに不特定多数の人を招待できる」という夢のようなサービスです。

開発者はメールアドレスを管理する必要がありませんし、テスターは匿名で参加できるので、いままでよりもお手軽にテストができます。

## TestFlight Public Linkの使い方

それでは、実際にTestFlight Public Linkをつかってみましょう。

まず、App Store Connectにサインインして、テストしたいアプリを選択します。

<img width="605" alt="001.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/05891d9c-d7a9-f45d-1f3f-8fd86dd51da0.png">

つぎに、外部テスターを追加をクリックして、グループを作成します。

<img width="1194" alt="002.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/6237cc2c-d270-52ce-3bab-deabd1438ada.png">

作成したグループのビルドタブをクリックして、+ボタンをクリックします。

<img width="798" alt="003.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/085f0fad-7a9e-c6af-efde-bcd281ce709c.png">

テストするビルドの選択画面が表示されるので、ビルドを選択して次へボタンをクリックします。

今回は、先日アップデートしたばかりの、ARで魔法のように簡単にお片づけができるアプリ「[パンダクリンAR](https://itunes.apple.com/jp/app/パンダクリンar-ぱぱんだっこと一緒にお片づけ/id1153895919?mt=8&ign-mpt=uo%3D4)」を選択します（宣伝）。

<img width="797" alt="004.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/0151cdc9-c843-0a5e-3940-7e365559f5b0.png">

テスト情報として、フィードバックを受けるためのメールアドレスなどを入力します。サインインの情報以外は必須です。

<img width="795" alt="005.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/9da41cfe-4220-4374-e511-8c9b70fc9fb4.png">

テスト情報入力画面が表示されるので、テスターにお知らせしたい内容（このビルドの新機能や、テストをするときの手順や注意点など）を入力します。

入力が完了したら、審査へ提出ボタンをクリックします。

<img width="949" alt="006.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/5ac8100a-970b-8557-d5c8-1568d1466620.png">

審査待ちになりました（今回は、すでにリリース済みのビルドを選びましたが、審査に提出ボタンしか選べませんでした。テストとリリースの審査は別扱いのようです）。

審査待ちなので、以下の手順はWWDCの動画から抜粋して紹介します（審査が完了したら、また追記します）。

<img width="855" alt="007.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/ff7f8acc-9e57-4885-6c38-10769a0615be.png">

審査が終わると、Public Link（日本語では公開リンク）にEnable Public Linkが表示されるので、クリックします。

<img width="867" alt="008.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/51e8330d-a889-b1a6-e8c2-bdc5ff0fe81a.png">

すると、URLが発行されるので、テスターに送ったり、SNSなどでシェアしたりします。

<img width="850" alt="009.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/a112658c-3455-c714-1fe8-8de5ee6ddc5d.png">

なんと、最大1万人のテスターを集めることができるそうです！

## TestFlight Public Linkの便利な機能

TestFlight Public Linkならではの便利な機能もあります。

<img width="853" alt="010.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/c8483f29-3d09-fbeb-7a1f-17b078e489be.png">

たとえば、パブリックリンクを開くと、テスターになる手順をガイドしてくれます。

<img width="840" alt="011.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/05cae3d2-c1af-cea7-c4bb-d6495a68f940.png">

また、テスト中なのでサーバー側の負荷を制限したい場合などには、テスターの人数の上限を設定することもできます。

<img width="857" alt="012.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/4b39a6c0-3a0f-4495-6fac-8adf45d1a1dd.png">

さらに、リンクを無効にしてテスターの参加を停止することもできます。

<img width="837" alt="013.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/94dd3f92-92d1-b5dc-5ec1-2390de768fd1.png">

テスターの参加を停止した場合には、リンクを開くと「テスター募集終了」のメッセージが表示されるそうです。

パブリックリンクで誰でもテストに参加できるので、このあたりの配慮は嬉しいですね。

<img width="855" alt="014.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/bbe87b8f-8ee9-9940-938f-422beda1b581.png">

「誰でも簡単にテスターになれるのです」という素敵な笑顔も納得の出来映えです。

## App Store Connect APIで自動化

さらに、App Store Connect APIも追加されました。

<img width="853" alt="015.png" src="https://qiita-image-store.s3.amazonaws.com/0/38924/946c56b1-7956-6838-67c3-e2e421bddc0a.png">

このAPIをつかえば、App Store ConnectのUIをつかわずに、つぎの操作ができます。

- グループを作成する
- グループにビルドを割り当てる
- パブリックリンクを管理する
- テスターの追加と削除
- テスト情報を更新する

## 終わりに

個人でアプリを開発者しているわたしとしては、フィードバックの電話番号が必須なのが気になります。おそらくテスターに公開されるので、フィードバック専用の電話番号を用意する方がいいかもしれません（審査が無事に通ったら、試してみて追記します）。

とはいえ、とてもシンプルな手順でテストができるので、今後はベータテストのありかたも変わってくるかもしれません。

会社で開発するアプリはもちろん、個人で開発しているアプリも、SNSなどを活用してオープンにベータテストをして、どんどんアップデートサイクルをまわすことも可能になります。

またひとつ便利になったTestFlightを活用して、より良いアプリを開発していきます。

## 参考リンク

[Beta Testing Made Simple](https://developer.apple.com/testflight/)
[What's New in App Store Connect](https://developer.apple.com/videos/play/wwdc2018/301/)