iOS
CI
TestFlight
iTunesConnect
fastlane

iTunesConnect の TestFlight (外部テスト) で審査をスキップする方法

More than 1 year has passed since last update.


TL;DR

同一バージョンであれば2回目以降は審査が行われないので、一度審査に出しておく。


注 内部テストは使ってないのでよく分かりません。



TestFlight ?

皆さん TestFlight の機能は使っているでしょうか?

iTunesConnect の TestFlight (外部テスト) の機能は 2000人までテスターを登録してアプリを配布できる非常に便利な機能です。

テスターからメールアドレスを教えていただくだけで簡単に登録できて 100 デバイス制限も関係ないので大量のテスターに配布することができます。

さらに、 AppStore の申請に出すものと同一のバイナリを配布できるためテスターに配布したものと AppStore に公開したもののビルドが微妙に違うという問題も起こりません(下図参照)。

image


ちょっと不便な所

便利な TestFlight ですがテスターに配布する前に審査が発生します。

通常1日程度で審査が終わるのですが、 Fabric などのようにアップロードして即配布というサービスに比べるとちょっとまどろっこしいです。

しかしこの審査をスキップする方法があります。


審査をスキップ

TestFlight の審査は同一バージョンでは最初の1回だけ行われます。

例えば v3.0.0 (ビルド番号1) のアプリで一度 TestFlight の審査を行っていれば v3.0.0 (ビルド番号2)では審査が行われず即配布可能になります。

これを利用して


  1. とりあえず iTunesConnect にバイナリをアップロードして TestFlight の審査に提出する

  2. 審査通過したら配布せずにそのまま放置...

  3. テスターに配布したいビルドを iTunesConnect にアップロード

  4. 3 のバイナリは即配布可能なのでそのままテスターに配布する

という流れで好きなときにテスターに配布できます。

1 のアップロードはナイトリービルドなどで行っておけばそんなに手間じゃないと思います。

僕はアプリを公開したら次のバージョンを iTunesConnect で作って、ナイトリービルドで新しいビルドがアップロードされたらそれを TestFlight の審査に提出するっていう流れで作業してます。


自動化


  • iTunesConnect へのアップロードは fastlaneを使っています


    • マジで便利です



  • テスターの管理は fastlane の pilot を使うと便利っぽいです


    • 数回程度しか使ってないのでそんなにノウハウ溜まっていません



  • 特定のビルドを TestFlight の審査に提出するところがまだ自動化できていないので何かいい方法があれば知りたいです