iOSアプリ開発における証明書適用のやり方

目次
iOSはセキュリティの観点から、開発に臨むにあたって必要なファイルが2つ存在します。
- Certificate(証明書、.p12)ファイル
- ProvisioningProfile(.mobileprovision)ファイル
上記2点を準備し、開発ローカルもしくはCI環境に適用し、アプリバイナリのビルドを可能にするためには、いささか単純ではない作業工程が必要になります。
今回はその手順について、可能な限りスムーズに進められるよう、書き起こしたいと思います。
目的別にどの手順を辿れば良いかを以下に記述しますので、ご参考ください。
※MacPC、Sonoma14.5での内容です
※Apple Developerアカウントは作成済みとします
- 最初の作成、または証明書の期限が切れた場合
- 手順1~8まで
- プロビジョニングプロファイルに端末を登録する場合
- 手順6~8まで
- プロビジョニングプロファイルの期限が切れた場合
- 手順7~8まで
- ただしほとんどの場合、証明書とプロビジョニングプロファイルの期限は同時
- 手順7~8まで
手順1 - ローカル環境で行うこと その1(証明書リクエストを作成)
- キーチェーンアクセスを開く
- メニューバーからキーチェーンアクセス > 証明書アシスタント > 認証局に証明書を要求 を実行
- 下記画面で各項目を設定
- ユーザーのメールアドレス…登録済みのApple Developerアカウントのメールアドレス
- 通称…証明書の名称
- 増えたときに判別しやすいように命名すると良い
- CAのメールアドレス…空欄
- 要求の処理…ディスクに保存 を選択
- 鍵ペア情報を指定…チェックなし
- 続ける を押下
- 保存先を選択してcertSigningRequestファイルを保存
- 名前については変更なしでOK
手順2 - Apple Developerサイトで行うこと その1(証明書を作成)
- https://developer.apple.com/を開く
- 「アカウント」からApple Developerアカウントでログイン
- ページフッターからCertificates, IDs, & Profiles(英語)を選択
- 左のメニューからCertificatesを選択
- 下記の+ボタンを押下

- 証明書の種類を選択してContinueを押下
- 基本的に、開発用に使う場合は「Apple Development」、配布用に使う場合は「Apple Distribution」を選択
- 手順1で作成したcertSigningRequestファイルを読み込ませてContinueを押下
- Downloadを押下してcerファイルをダウンロードする
- 作成直後は「Revoke」は表示されない
手順3 - ローカル環境で行うこと その2(証明書をローカル環境に適用)
- 手順2で作成したcerファイルをダブルクリック
- キーチェーンアクセスに証明書が登録されたことを確認する
手順4 - 証明書の配布
- キーチェーンアクセスに登録された証明書を右クリック > 書き出すを選択
- 名前は設定した通称が表示される
- 通称を設定しなかった場合「[証明書の種類]: [Apple Developerユーザー名] ([App ID])」のような形で表示される
- フォーマットは個人情報交換(.p12)を選択し、パスワードを設定して保存する
- p12ファイルを、必要な開発メンバーやCI環境に配布する
- 配布された側でp12ファイルをダブルクリック > 設定したパスワードを入力し、キーチェーンアクセスに登録されたことを確認する
手順5 - Apple Developerサイトで行うこと その2(アプリ識別子の作成)
- Certificates, IDs, & Profilesページの左メニューから、Identifiersを選択
- 下記の+ボタンを押下

- App IDsを選択してContinueを押下
- App を選択してContinueを押下
- 各種設定を入力してContinueを押下
- Description…通称を入力。後から変更可能
- Bundle ID…識別子本体。一度設定すると、Removeしない限り変更不可
- Explicit…通常の識別子を入力する
- Wildcard…アスタリスクのみ、または末尾をアスタリスクにする。チームのアプリケーション全てに使用可能
- CapabilitiesおよびApp Services…そのアプリで使用する機能を選択
手順6 - Apple Developerサイトで行うこと その3(端末の登録)
- Certificates, IDs, & Profilesページの左メニューから、Devicesを選択
- 下記の+ボタンを押下

- 下記、各種設定を入力してContinueを押下
- Platform…iOS~を選択
- Device Name…任意の端末名称。後の手順で必要なため、端末ごとに判別できるような名前を推奨
- Device ID (UDID)…端末のID。以下手順で確認可能なので、コピー&ペーストで入力
- 端末をMacに接続
- Finderウィンドウを開く
- 左のメニューから端末を選択
- 下記部分を何回かクリックし、UDIDを表示
- Register Multiple Devicesから、まとめて端末をリスト化したファイルを読み込ませて登録することも可能
- 確認画面が表示されるので、確認後にDoneを押下
手順7 - Apple Developerサイトで行うこと その4(プロビジョニングプロファイルの作成)
- Certificates, IDs, & Profilesページの左メニューから、Profilesを選択
- +ボタンを押下
- プロファイルの種類を選択し、Continueを押下
- 開発用に使う場合は「Development」、配布用に使う場合は「Distribution」の中から選択
- iOSアプリの場合、前者は「iOS App Development」、後者は「Ad Hoc」になる
- 手順5で作成したアプリ識別子を設定する
- 手順2で作成した証明書を設定する
- 手順6で登録した端末を設定する
- Device Nameで設定した名称が表示されるので、ここで判別できるような名前を付けておくことを推奨
- プロビジョニングプロファイルの名称を設定し、Generateを押下
- 作成したファイルをダウンロードしておく
手順8 - プロビジョニングプロファイルの登録と配布
- 手順7でダウンロードしたプロビジョニングプロファイルをダブルクリック
- Xcodeを開き、プロジェクトから各ターゲットのSigning & Capabilitiesを開き、Signingに適用されているプロビジョニングプロファイルを確認
- プロビジョニングプロファイルは、チーム内で決められた箇所にアップロードしておき、必要な開発者が全員使えるようにしておく



