TestFlight を使用して Xamarin.iOS アプリを配布する

Apple が所有するようになった TestFlight は、Xamarin.iOS アプリのベータ テストを行う主要な方法です。 この記事では、アプリのアップロードから iTunes Connect での作業まで、TestFlight プロセスのすべての手順について説明します。

ベータ テストはソフトウェア開発サイクルの不可欠な部分であり、Visual Studio App Center、Applause、もちろん Google Play の Android アプリ用ネイティブ アプリ ベータ テストなど、このプロセスを合理化するための多くのクロスプラットフォーム アプリケーションが提供されています。 このドキュメントでは、Apple の TestFlight について説明します。

TestFlight は Apple の iOS アプリ用ベータ テスト サービスであり、iTunes Connect を介してのみアクセスできます。 現在は、iOS 8.0 以降のアプリに利用できます。 TestFlight は内部ユーザーと外部ユーザー両方のベータ テストに対応しており、外部ユーザー向けのベータ アプリ レビューにより、App Store に発行するときの最終レビューのプロセスが簡単になります。

以前は、テスト担当者に配布するには、Visual Studio for Mac でバイナリを生成し、TestFlightApp Web サイトにアップロードする必要がありました。 新しいプロセスは多くの点が改善されており、高品質で十分にテストされたアプリを App Store に公開できます。 次に例を示します。

  • 外部テストに必要なベータ アプリ レビューは、最終 App Store レビュー成功の可能性を高くします。どちらも、Apple のガイドラインに準拠している必要があります。
  • アップロードする前に、アプリを iTunes Connect に登録する必要があります。 これにより、プロビジョニング プロファイル、名前、証明書に不一致が存在しないことが保証されます。
  • TestFlight アプリは実際の iOS アプリになったので、より高速に動作します。
  • ベータ テスト完了後にアプリをレビューに移動するプロセスは、迅速かつ効率的であり、1 つのボタンをクリックするだけです。

要件

TestFlight でテストできるのは iOS 8.0 以降のアプリだけです。

すべてのテスト担当者は、少なくとも iOS 8 デバイスでアプリをテストする必要があります。 ただし、ベスト プラクティスでは iOS のすべてのバージョンでアプリをテストする必要があるようになっています。

プロビジョニング

TestFlight でビルドをテストするには、新しいベータ資格で "App Store 配布プロファイル" を作成する必要があります。 この資格により TestFlight でのベータ テストが可能になり、すべての新しい App Store 配布プロファイルにこの資格が自動的に組み込まれます。 新しいプロファイルの生成手順については、「Creating a Distribution Profile」(配布プロファイルの作成) ガイドをご覧ください。

Xcode でビルドを検証するときに、配布プロファイルにベータ資格が含まれることを確認できます (下図参照)。

  1. アプリをアーカイブした後に Mac ビルド ホストで XCode を開きます
  2. [ウィンドウ > オーガナイザー] メニューを選択する
  3. 左側にある [アーカイブ] を選択します
  4. 検証するアーカイブを選択し、[検証] ボタンをクリックします

Submitting the App to Apple

TestFlight のワークフロー

次のワークフローでは、アプリのベータ テスト用に TestFlight を使い始めるために必要な手順について説明します。

  1. 新しいアプリの場合は、iTunes Connect レコードを作成します。
  2. アプリケーションを iTunes Connect にアーカイブして発行します。
  3. ベータ テストの管理:
    • メタデータを追加します。
    • 内部ユーザーの追加:
      • 最大 100 ユーザー。各ユーザーは最大 30 台のデバイスでテストできます。
    • 外部ユーザーの追加:
      • 最大 10,000 ユーザー。
      • ベータ テスト レビューが必要です。そのためには、Apple のガイドラインへの準拠が必要です。
  4. ユーザーからのフィードバックを受け取り、それに対応して、ステップ 2 に戻ります。

iTunes Connect レコードを作成する

  1. Apple 開発者の資格情報を使って、iTunes Connect ポータルにログインします。

  2. [My Apps]\(マイ アプリ\) を選びます。

    Select My Apps

  3. [My Apps]\(マイ アプリ\) 画面の左上隅にある +[] ボタンをクリックして、新しいアプリを追加します。 Mac および iOS の開発者アカウントがある場合は、ここで新しいアプリの種類を選ぶように求められます。

[New iOS App]\(新しい iOS アプリ\) 送信ウィンドウには、アプリの Info.plist とまったく同じ情報が表示される必要があります。

新しい iTunes Connect レコードの作成について詳しくは、「Creating an iTunes Connect Record」(iTunes Connect レコードの作成) ガイドをご覧ください。

新しい iOS アプリ送信フォームの設定

このフォームはアプリの Info.plist ファイルとまったく同じ情報にする必要があります (下図参照)。

The app's Info.plistThe form on iTunes Connect

  • [Name]\(名前\) — アプリ バンドルの設定に使われるわかりやすい名前。 Info.plistアプリケーション名エントリと完全に一致する必要があります。
  • [Primary Language]\(第一言語\) — アプリ内で使われるベース言語。 通常はユーザーが使っている言語です。
  • [Bundle ID]\(バンドル ID\) — 開発者アカウントに作成されているすべてのアプリ ID が一覧表示されるドロップダウン メニュー。
    • [Bundle ID Suffix]\(バンドル ID サフィックス\) — ワイルド カード バンドル ID (上の例のように * で終わる ID) を選んだ場合、バンドル ID サフィックスの入力を求めるボックスが追加表示されます。 上の例では、バンドル IDmobi.chkn.*、サフィックスが PageView です。 これらを合わせて、Info.plistバンドル ID が作成されます。
  • [Version]\(バージョン\) — アップロードされるアプリのバージョン番号。 これは開発者が選びます。
  • [SKU]\(SKU\) — SKU は、ユーザーには示されないアプリの一意 ID です。 製品 ID と同じようなものと考えることができます。 上の例では、日付とその日付のバージョン番号にしてあります。

アプリをアップロードする

iTunes Connect レコードが作成されたら、新しいビルドをアップロードできます。 ビルドには新しいベータ資格が必要なことに注意してください。

最初に、IDE で最終的な配布可能アプリをビルドした後、アプリケーション ローダーまたは Xcode のアーカイブ機能を使って Apple にアプリを送信します。

アーカイブを作成する

Visual Studio for Mac でバイナリをビルドするには、"アーカイブ" 機能を使う必要があります。 プロジェクトを右クリックし、[発行のためのアーカイブ] を選びます (下図参照)。

Select Archive for Publishing

詳しくは、「Building the Distributable」(配布可能アプリのビルド) ガイドをご覧ください。

アプリに署名して配布する

アーカイブを作成するとアーカイブ ビューが自動的に開き、アーカイブされているすべてのプロジェクトがソリューション別にグループ化されて表示されます。 アプリに署名して配布の準備をするには、[署名と配布...] を選びます (下図参照)。

Creating an archive will automatically open the Archives View

これにより、発行ウィザードが開きます。 [App Store] 配布チャネルを選んでパッケージを作成し、アプリケーション ローダーを開きます。 [プロビジョニング プロファイル] 画面で、署名 ID とプロビジョニング プロファイルを選ぶか、別の ID で再署名します。 パッケージの詳細を確認し、[発行] をクリックして .ipa を保存します。

Select your signing identity and provisioning profile, or re-sign with another identity

手順について詳しくは、「Submitting your App to Apple」(Apple へのアプリの送信) セクションをご覧ください。

ビルドを送信する

発行ウィザードでアプリケーション ローダー プログラムが開き、ビルドが iTunes Connect にアップロードされます。 [Deliver Your App]\(アプリの配信\) オプションを選び、前に作成した .ipa ファイルをアップロードします。 アプリケーション ローダーがビルドを検証して iTunes Connect にアップロードします。

手順について詳しくは、「Submitting your App to Apple」(Apple へのアプリの送信) セクションをご覧ください。

以上の手順など、App Store への送信プロセスについて詳しくは、「Publishing to the App Store」(App Store への発行) ガイドをご覧ください。

iTunes Connect の [My Apps]\(マイ アプリ\) セクションに戻ると、アプリケーションが正常にアップロードされているはずです。 以上で、ベータ テストを行う準備ができました。

ベータ テストを管理する

メタデータの追加

TestFlight を使い始めるには、アプリの [Prerelease]\(プレリリース\) タブに移動します。 3 つのタブ [Builds]\(ビルド\)、[Internal Testers]\(内部テスト担当者\)、[External Testers]\(外部テスト担当者\) に一覧が表示されます (下図参照)。

Builds, Internal Testers, and External Testers tabs

アプリにメタデータを追加するには、ビルド番号をクリックし、TestFlight をクリックします。

Add Metadata

[Test Information]\(テスト情報\) では、アプリに関する重要な情報をテスト担当者に提供できます。以下はその例です。

  • テストの内容。
  • アプリの説明。
  • マーケティング URL — 追加しているアプリに関する情報を提供します。
  • プライバシー ポリシー URL — 会社のプライバシー ポリシーに関する情報を提供する URL。
  • フィードバック メール アドレス。

このメタデータは、内部テスト担当者に対しては必須ではありませんが、外部テスト担当者に対しては必須であることに注意してください。

ベータ テストを有効にする

アプリのテストを開始する準備ができたら、バージョンの [TestFlight Beta Testing]\(TestFlight ベータ テスト\) スイッチをオンにします。

Turn on the TestFlight Beta Testing switch

各ビルドは、[TestFlight Beta Testing]\(TestFlight ベータ テスト\) をオンにしてから 60 日間アクティブになります。 各ビルドの残り日数は、[Test Information]\(テスト情報\) ページで確認できます。

The Test Information page

いつでもテストを無効にできます。

内部テスト担当者

内部テスト担当者は、iTunes Connect で次のロールのいずれかを割り当てられている、開発チームのメンバーです。

  • 管理者 – 管理者は、iTunes Connect での新しいユーザーの追加と管理を担当します。
  • 法務担当者 – チーム エージェントは、法務担当者ロールを割り当てられる唯一の管理者ユーザーです。 法的契約書に署名することができます。
  • 技術担当者 – 技術ユーザーは、アプリに関するほとんどのプロパティを変更できます。 たとえば、アプリ情報の編集、バイナリのアップロード、レビュー用のアプリの送信を行うことができます。

各ビルドは、最大 100 人のメンバーで共有できます。各ユーザーは最大 30 台のデバイスでテストできます。

テスト担当者を追加するには、iTunes Connect メイン画面の [Users and Roles]\(ユーザーとロール\) を使います。

Users and Roles on the main iTunes Connect screen

既存の iTunes Connect ユーザーが一覧に表示されます。 ユーザーを選ぶには、名前をクリックし、[Internal Tester]\(内部テスト担当者\) スイッチをオンにして、[Save]\(保存\) をクリックします。

Turn on the Internal Tester switch

一覧にないユーザーを追加するには、[Users]\(ユーザー\) の横の +[] を選び、名、姓、メール アドレスを指定してアカウントを作成します。 アカウントをアクティブ化するには、ユーザーがメールを確認する必要があります。

Adding a user

マイ アプリ>プレリリース>内部テスト担当者戻ると、TestFlight 内部ベータ テスト用に追加されたユーザーが表示されます。

A list of users that have been added for TestFlight Internal beta testing

名前を選んで [Invite]\(招待\) ボタンをクリックすることで、これらのテスト担当者を招待できます。 テスト担当者は、アプリのテストに招待するメールを受け取ります。

[Internal Testers]\(内部テスト担当者\) ページの状態列で、招待の状態を確認できます。

The invitation status

外部テスト担当者

アプリのベータ テストに外部テスト担当者を招待する前に、ベータ アプリ レビューを行う必要があり、したがって、App Store レビュー ガイドラインに準拠する必要があります。

レビュー用にアプリを送信するには、ビルドの隣にある [Submit For Beta App Review]\(ベータ アプリ レビュー用に送信\) テキストをクリックします (下図参照)。

Submit For Beta App Review

アプリがレビューに合格するには、TestFlight のベータ情報ページで必要なすべてのメタデータを入力する必要があります。

招待の準備を開始し、[外部テスト担当者] タブでメール アドレス、名、姓を入力して、最大 10,000 人の外部テスト担当者を追加できます (下図参照)。 入力するメール アドレスは、Apple ID でなくてもかまいません。これは、招待を受け取るためだけのメール アドレスです。

Invite testers

外部テスト担当者の数が多い場合は、[Import File]\(ファイルのインポート\) リンクを使い、次のような形式の行を含む CSV ファイルをインポートできます。

first name, last name, email address

また、外部テスト担当者を異なるグループに追加して、テスト担当者を整理することもできます。

外部テスト担当者の詳細を入力した後、[Add]\(追加\) をクリックして、招待に対するユーザーの同意があることを確認します。

Confirm you have the users consent to invite them

ベータ アプリ レビューが正常に行われた後でのみ、外部テスト担当者に招待を送信できます。 この時点で、ビルド ページの [External]\(外部\) の下のテキストが、[Send Invites]\(招待の送信\) に変わります。 これをクリックして、既に追加しているすべてのテスト担当者に招待を送信します。

アプリが却下された場合は、[Resolution Center]\(解決センター\) で示されている問題を修正し、更新されたバイナリ全体をレビューのために再送信する必要があります。

ベータ テスト担当者として

テスト担当者を招待すると、テスト担当者は以下のスクリーンショットのようなメールを受け取ります。

An example invite email

[Open in TestFlight]\(TestFlight で開く\) ボタンをクリックすると、アプリが TestFlight アプリケーションで開きます。または、まだダウンロードされていない場合は、App Store に移動してダウンロードできます。

アプリが TestFlight で開くと、テスト内容の詳細が表示され、テスト担当者は自分の iOS 8.0 (またはそれ以降) デバイスにアプリケーションをインストールするように求められます。

TestFlight will show details of what to test for

デバイスのホーム画面では、テスト ビルドはアプリケーション名の前のオレンジ色のドットで示されます。

テスト担当者は TestFlight アプリを通じてフィードバックを送信できます。この情報は、メタデータに記載されている電子メール アドレスで受け取ります。

ベータ テストの完了

ベータ テストが完了すると、Apple による App Store レビュー用にアプリを送信できます。 このプロセスは、iTunes Connect で [Submit for Review]\(レビュー用に送信\) ボタンをクリックするだけの簡単なものです (下図参照)。

Click the Submit for Review button

まとめ

この記事では、iTunes Connect で Apple の TestFlight ベータ テストを使う方法を説明しました。 iTunes Connect に新しいビルドをアップロードする方法と、アプリを使うように内部および外部のベータ テスト担当者を招待する方法を説明しました。