プロビジョニングプロファイルやそれに関連する各種証明書などが、iOSアプリのビルドに必要です。検索すれば多くの情報があるので、ある程度適当に進めても問題なく作業できることも多いのですが、エラーなど詰まった場合には、証明書や公開鍵の知識があるとスムーズに解決できます。
ここでは、実際の初回リリースに必要な作業を手順通り紹介しながら、それが全体としてどのように作用するのか、必要なのかを説明します。
最終的な成果物
以下のファイルを作成します。
- CSR(CertSigningRequestファイル)
- 開発証明書(.cerファイル)
- プロビジョニングプロファイル
目的
面倒な手順を行う目的は、
「開発を行うMac、Appleアカウント、そしてApp が正しく結び付けられており、正式な人間が開発・ビルドしています」ということを証明するためです。
CSR(CertSigningRequestファイル)の用意
まずは、開発に使用しているMacとAppleIDを紐付けるためにCSRの準備を行います。
CSRの作成については、検索することで手順が紹介されています。
CSRは、その名前の通り 証明書をリクエストするためのファイルです。次に、このCSRを使用して証明書の作成を行います。
証明書(.cerファイル)の作成
CSRを使って、証明書を作成します。証明書は Apple Developper 管理画面より行います。詳しい手順は以下をご参照ください。
前の手順でCSRを作成した際に、秘密鍵と公開鍵のキーペアが作成され、Macに保存されています。今回作成する証明書ファイルはこの鍵に紐付いており、これによって証明書の検証ができるようになっています。
証明書をキーチェーンに登録
Macの「キーチェーン.app」を起動するか、Finderから.cerファイルをダブルクリックすることで、Macのシステムに証明書を登録することができます。
アプリID、検証端末の登録
新規でアプリをストアに申請する場合は、新たにアプリIDを登録する必要があります。
また、ストア配信前に実機で検証する場合は、使用する端末のIDをあらかじめApple Developer サイトより登録します。
詳しくは以下をご参照ください。
Provisioning Profileの作成
Provisioning Profile には、これまでに作成した
- 証明書情報
- アプリのID
- 検証端末のID
がひとまとまりになっています。つまり、
- 誰がどうする(検証ビルドする?リリースビルドする?)のか: 証明書情報
- どのアプリなのか: アプリのID
- どこで起動するのか: 検証端末のID
という、アプリをビルドするにあたって必要な情報がまとまったものになっています。
作成については、以下をご参照ください。
ビルドする
あとは、XCodeから Archive を行い、必要なリリース作業を行うことになります。その際、作成したProvisioning Profile をXCodeから選択することになります。
Provisioning Profileはビルドにあたって問題がないか、以下を検証します。
- Macに保存されたキーペアと証明書に含まれる公開鍵で、本人性を検証
- ビルドするアプリと、Apple Developperで登録されたAppIDが一致しているか
- ビルドされたアプリはどの検証端末に使用できるのか
- …etc
問題があれば、エラーが表示されます。
まとめ
iOSアプリの配布ビルドにあたっては、以下の情報が必要です。
- 誰が、どの端末で
- どのアプリを
- どういう権限で
- どの端末を対象として. ビルドするのか
これらの情報は、
- CSR作成 → 証明書発行
- AppIDの登録 と Apple Developperアカウント
- 検証端末の登録
によってAppleに共有され、全てをまとめて Provisioning Profile とします。
Xcodeではビルド時に Provisioning Profile によって検証を行い、ビルドに問題がないかチェックを行っています。