【iOS】provisioning profile(プロビジョニング プロファイル)

iOS アプリ開発に於いて、provisioning profile(プロビジョニング プロファイル)周りは非常にややこしく分かりづらい。しかも、Apple のドキュメントが非常に不親切でわかりづらい。さらに、Apple が操作方法・画面をころころ変えるので、ぐぐって出て来るわかりやすい解説が現状と乖離していることが多く、かえって混乱することもしばしばだ。

provisioning profile

X-code にて、プロジェクト  > General > Signing (Debug, Release) で「provisioning profile」を指定する必要があるので、これを生成しなくてはいけない。

「Signing」とは「署名」のことで、正当な開発者によりビルドされたバイナリであることを証明するためのものだ。
「provisioning profile」とは署名をするためのファイルで、Apple Developper (https://developer.apple.com) > Account > Certificates, ISs & profiles で作成することができる。

「provisioning profile」を生成するには以下の3つが必要である。

  • Certificate(開発者情報)
  • App ID(アプリID)
  • Device(apple 端末情報)

署名はアプリのバイナリに対して正当な開発者がビルドしたことを保証するために行うものなので、最初の2つ(Certificate, App ID)が必要になる。また、iOS アプリを開発するには Apple 端末を所有していることが何故か必要なので、端末情報も必要というわけだ。

Certificate

「Certificate」とは開発者情報のことである。

.CSR:端末で作成した鍵ペアの公開鍵部分(CertificateSigningRequest.certSigningRequest)
.CER:公開鍵を元に Apple Developer で生成した認証(Certificate)ファイル

公開鍵生成

マックにて、アプリケーション / ユーティリティ / キーチェーンアクセス アプリを起動
キーチェーンアクセス > 環境設定 メニューを選び、「証明書」タブを選択し、以下のように選択する。
「オンライン証明書状況プロトコル(OCSP)」:切り
「証明書失効リスト(CRL)」:切り
キーチェーンアクセス > 証明書アシスタント > 認証局に証明書を要求… メニューを選び、
開発者のメアド、通称を入力し(CAのメアドは空欄)、「ディスクに保存」「鍵ペア情報を指定」をチェック
“CertificateSigningRequest.certSigningRequest” をデスクトップ等に保存
鍵のサイズ:2048ビット、アルゴリズム:RSA であることを確認し、【続ける】をタップ → CSR ファイルが保存される

Certificate 生成

Apple Developper (https://developer.apple.com) > Account > Certificates, ISs & profiles に行き、Certificates > All を選び [+] をタップ
「iOS App Development」または「App Store and Ad Hoc」を選び、【Continue】を押し、Upload CSR file で先に保存した “CertificateSigningRequest.certSigningRequest” を選択する。
最後に【Download】を押してダウンロード

Provisioning Profile 生成

Apple Developper (https://developer.apple.com) > Account > Certificates, ISs & profiles にて、Provisioning Profiles > All 選び [+] をタップ。
「iOS App Development」または「Ad Hoc」を選び、【Continue】を押す
App ID を選択し、【Continue】を押す
Certificates を選択し、【Continue】を押す
デバイスを選択し、【Continue】を押す
Provisioning Profile の名前を入力し、【Continue】→ ファイルをダウンロード