LoginSignup
25
27

More than 3 years have passed since last update.

Xcode11でiOSアプリのTestFlight配布の流れ

Last updated at Posted at 2020-08-27

はじめに

どんなニーズに向けて?

  • 開発者以外がApple Developer Accountに登録することになった場合
  • 個人アカウントでApple Developer Accouontに登録して複数人で開発したい場合
  • iOSベータ版配布までの一連の流れをとりあえず知りたい場合

誰のため?

非開発者かつAccount Holder(Apple Developer Accountを開設した者)
5. (他の)開発者に開発に必要なファイルを渡すまで進めてください。
またこの場合は、開発者に以下のことを事前に聞いておくとスムーズです。

開発者かつAccount Holder
全部のステップ

開発者
6. Xcodeでの手続き以降を進めてください。

前提環境

Xcode 11

概要

1. 用語整理
2. Apple Developerに登録する
3. Apple Developerで手続きをする
4. App Store Connectで開発者や内部テスト参加者などを登録する
5. (他の)開発者に開発に必要なファイルを渡す
6. Xcodeでの手続き
7. Xcodeでゴリゴリ開発する
8. Xcodeでベータ版を配布する

事前準備

1. 用語整理

Acount Holder

Apple Developer Accountを開設した(支払いをした)メールアドレスに紐付けられた権限ユーザー。
Account Holderの協力がないと開発ができません。

Apple Developer Account

開発や配布に必要な証明書・ID・プロファイルの作成をするプラットフォーム
※ Account Holderしかできません

App Store Connect

開発中のアプリの管理をするプラットフォーム。
旧iTunes Connect。古い記事をググる時は注意してください。
主な役割は、

  • App Store申請
  • TestFlight管理
  • チームの管理

※Apple Developerでメンバーの追加はできないので注意。古い記事だとできるって書いてあるができません。

TestFlight

ベータ版の配布を可能にする超便利な配信サービス。
通常iOSアプリの配布というとApp Storeにアプリを載せることですが、その前段階としてベータ版の配布をすることができます。
指定したユーザーのメールアドレスを招待あるいは公開リンクを発行するだけで、ベータ版をダウンロードしてもらうことができます。
TestFlightについては以下で丁寧にまとまっています。
参考: TestFlightを今更まとめてみた

Xcode

開発・ビルド・配布アプリのアップロードなどをする統合開発環境

2. Apple Developerに登録する

これはググったら結構情報出てきます。
アカウントの種類は個人と組織(主に企業向け)の2つがありますが、詳しい用件はApple Developer Programの登録のために必要な情報で丁寧に書かれています。
組織として登録するには手続きが増えて時間もかかりそうなので、早めに着手するとよさそうです。
参考: Apple Developer Programに法人として参加する

3. Apple Developerで手続きをする

基本的に[iPhone] iOSアプリを登録、申請して公開するまでに沿ってやって頂ければ問題ありません。しかし少々情報が古いので補足する形で以下書いております。
まずは、Apple DeveloperのアカウントページのCertificates, Identifiers & Profilesから始めましょう。
注意点としては、組織アカウントでない限り、Account Holderしかこの章の手続きはできないです。後述のApp Store Connectで追加されたメンバーではできません。

3.1 iOS Certificateの発行

  • Certificatesタブから開発用(Apple Development)と配布用(Apple Distribution)の両方を作成します
  • 参考リンクではiOS App DevelopmentiOS App Distributionを選択するようになっていますが、Xcode11以降ではApple DevelopmentApple Distributionを選択しましょう。これを間違えると、後述するProvisioning ProfileをXcodeで読み込めなくなりビルドができない状態になります。 スクリーンショット 2020-08-27 17.09.38.png

参考: [iPhone] iOS, Certificate 証明書を作ってみる

3.2 iOS App IDsの登録

  • Identifiersタブからアプリにつき一つずつ作成します
  • com.hogehogeとcom.から始めたものを作るそうなのでそうするのがいいかと思います

参考: [iPhone] iOS App IDs を登録する

3.3 開発デバイスの登録

  • Devicesタブから開発に用いるデバイスの登録をします
  • 登録するにはデバイスのDevice ID(UDID)を知っている必要があります

参考: デバイスID確認方法【iPhone UDID】

3.4 Provisioning Profileの作成

  • Profilesタブから開発用(iOS App Development)と配布用(App Store)の2つを作成します
  • 区別できるように、それぞれDevelopmentAppStoreなどファイル名に入れておくといいです
  • TestFlightで配布するには、App Storeを選択してProfileを作成する必要があります。私は最初どれを選択すればいいか分からず混乱しました。なので、App Store配布もTestFlight配布も同様のProfileになります。

スクリーンショット 2020-08-27 17.52.32.png

参考: [iPhone] Provisioning Profile を作ってみる

4. App Store Connectで開発者や内部テスト参加者などを登録する

App Store Connectのユーザーとアクセスからメールアドレスでチームに人を追加します。
以下の役割をチームに追加する人に割り当てることができます。

  • Admin
  • Finance
  • App Manager
  • Developer
  • Marketing
  • Sales
  • Customer Support

Account Holderが開発者に対してDeveloper権限を付与することがとりあえず大切です。

5. (他の)開発者に必要なファイルを渡す

3. Apple Developerで手続きをするで作成した以下のファイルとIDを共有しましょう。

  • 開発用と配布用のそれぞれのiOS Certificate
  • iOS App IDs
  • 開発用と配布用のそれぞれのProvisoning Profile
  • p12

p12については今まで触れていませんが、iOS Certificateに付与されている秘密鍵のことです。
【iOS】複雑な証明書周りをあっさり整理してみたではこのように説明されています。

Certificateを作成したあと、ディベロッパーセンターからダウンロードしてダブルクリックすると、
Macのキーチェーンアクセスに自分の作成した証明書とそれに紐づく秘密鍵が表示されます。
秘密鍵を右クリックして書き出すと、「.p12」という拡張子のファイルが作成されます。

また、ダウンロードできるのはAccount Holderに限られるそうです。

p12はダウンロードができないため、
最初にCertificateを作成してダウンロードした人がキーチェーンアクセスから書き出しておく必要があります。
他の人がCeritficateをダウンロードしてダブルクリックしてインストールしても、
鍵がついていない状態の証明書 しかインストールすることができません。

これで開発者がやっと開発できるようになります。
ここまでAcount Holderの方がやってくれれば、以降は開発者がやることです。

6. Xcodeでの手続き

[iPhone] アプリ申請のためXcodeでアップロードするを元に進めてください。

  • 開発を始める前に、Apple Developerで手続きをした証明書や情報を整備する必要があります。
  • Targets > Signing&Capabilitiesで開発用のProvisioning Profileを選択しましょう
  • 開発者は絶対に5. App Store Connectで開発者や内部テスト参加者などを登録するにあるようにAccount HolderにDeveloper登録を済ましてもらいましょう。これしないとビルドが通りません。

7. Xcodeでゴリゴリ開発する

煩雑な環境整備を追えたら、あとは思う存分開発しましょう。

8. XcodeでTestFlightへアップロードする

[iPhone] アプリ申請のためXcodeでアップロードするの後半以降の流れで進めます。
補足すると、

  • Product > Archiveでビルドする場合は配布用のProvisoning Profileですることに注意します。Targets > Signing&CapabilitiesのProvisioning Profileで変更できます。
  • Select a method of distributionはApp Store Connectを選択します image.png
  • Select a destinationはUploadを選択します image.png
  • 何も設定しないと、Uploadしても自動的に TestFlightで配信されません。輸出コンプライアンスがありませんとApp Store Connectで表示される為。TestFlightで「輸出コンプライアンスがありません」を表示されないようにする方法を参考にします。
25
27
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
25
27