> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.onesignal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# iOS p12証明書の生成

> .p12プッシュ証明書を生成してアップロードし、OneSignalを通じてiOSまたはmacOSアプリをApple Push Notification service（APNs）に接続します。

iOSアプリにプッシュ通知を送信するには、Apple Push Notification Services（APNs）への認証された接続が必要です。\*\*[トークンベース（.p8キー）](./ios-p8-token-based-connection-to-apns)**または**証明書ベース（.p12ファイル）\*\*メソッドを使用して認証できますが、1つだけが必要です。

<Warning>
  .p12証明書は1年後に期限切れになります。この証明書の更新を管理したくない場合は、代わりに期限切れにならない[.p8キーを作成](./ios-p8-token-based-connection-to-apns)できます。
</Warning>

このガイドでは、\*\*証明書ベース（.p12ファイル）\*\*のセットアップについて説明します。毎年更新する必要があるため、これは推奨されません。これには、Apple Developerアカウントで新しい証明書を生成し、OneSignalダッシュボードに再アップロードすることが含まれます。

***

## 要件

開始する前に、次のものがあることを確認してください：

* iOSまたはmacOSアプリ。
* [**管理者**アクセス](https://appstoreconnect.apple.com/access/users)を持つ[**有料のApple Developerアカウント**](https://developer.apple.com/)。
* [**OneSignalアカウント**](https://onesignal.com)。
* Xcode 14以降を搭載したMac。
* Xcodeで設定されているアプリターゲットの**バンドルID**。
* **プッシュ通知機能が有効になっている**Xcodeプロジェクト。

***

## 証明書署名要求（CSR）の作成

まず、macOSで`.certSigningRequest`ファイルを作成する必要があります。

1. **アプリケーション > ユーティリティ > キーチェーンアクセス**を開きます。
2. メニューバーから、\*\*キーチェーンアクセス > 証明書アシスタント > 認証局に証明書を要求...\*\*をクリックします。

<Frame caption="Macキーチェーンアクセス">
  <img src="https://mintcdn.com/onesignal/YOTSrtBSoqdrJ37A/images/docs/4792ecd2f2859197d192d41e953c7cb461b62a08955e36de8674d13ebe3245d9-image.png?fit=max&auto=format&n=YOTSrtBSoqdrJ37A&q=85&s=0d53d2a7d0a7992bb646cda2c10b2e3f" alt="証明書アシスタントオプションが表示されたキーチェーンアクセスメニュー" width="709" height="314" data-path="images/docs/4792ecd2f2859197d192d41e953c7cb461b62a08955e36de8674d13ebe3245d9-image.png" />
</Frame>

3. 必須フィールドに入力します：
   * **ユーザーのメールアドレス**：`your-email@example.com`
   * **通称**：あなたの名前または証明書の名前
   * **CAのメールアドレス**：これを空白のままにします
   * **要求の処理**：**ディスクに保存**を選択

<Frame caption="証明書アシスタントウィンドウ">
  <img src="https://mintcdn.com/onesignal/Xl2NHJvxakrK4JbL/images/docs/edfa46c8fa6d2a2743ec85d049cbed85d67eb4163388f44c7cbb602740ec1430-image.png?fit=max&auto=format&n=Xl2NHJvxakrK4JbL&q=85&s=d78feadfda1f4a2c71806f8ab10edd04" alt="メール、通称、ディスクに保存フィールドが表示された証明書アシスタントウィンドウ" width="728" height="554" data-path="images/docs/edfa46c8fa6d2a2743ec85d049cbed85d67eb4163388f44c7cbb602740ec1430-image.png" />
</Frame>

4. **続ける**をクリックし、`.certSigningRequest`ファイルを保存する場所を選択して、**保存**をクリックします。

***

## アプリのプッシュ機能を有効化

<Note>
  Xcodeで**自動的に署名を管理**を使用している場合は、このセクションをスキップしてください。
</Note>

1. Apple DeveloperポータルのIdentifiersセクションに移動し、リストからアプリの**アプリID**を見つけて選択します。

<Frame>
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/0f111cc6bc3d596c4f8ede9a8f62f8fafc526358cfc0f2f8b1e1a4f7fc8248fc-image.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=05b2003fb8c2fcd9131c44a793a0aba3" alt="App IDのリストが表示されたApple DeveloperのIdentifiersセクション" width="894" height="319" data-path="images/docs/0f111cc6bc3d596c4f8ede9a8f62f8fafc526358cfc0f2f8b1e1a4f7fc8248fc-image.png" />
</Frame>

2. チェックボックスをオンにして**プッシュ通知**機能を有効にします。

<Warning>
  **「構成」**をクリック**しないで**ください — トグルを有効にするだけです。
</Warning>

<Frame>
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/3a420360bc845131ad00179d9542b9cc0dae47448ee0eef5068e609b7340f5d3-image.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=ba0781029d19036ddad3db3e45037d2b" alt="プッシュ通知チェックボックスが有効になったApp ID機能リスト" width="2008" height="142" data-path="images/docs/3a420360bc845131ad00179d9542b9cc0dae47448ee0eef5068e609b7340f5d3-image.png" />
</Frame>

***

## プッシュ証明書を作成

次の手順に従って、Apple Push Notification service（APNs）SSL証明書を生成します：

1. [Apple証明書ページ](https://developer.apple.com/account/resources/certificates/add)にアクセスします。

2. \*\*プラス（+）\*\*ボタンをクリックして新しい証明書を作成します。

3. **Services**の下で、以下を選択します：

   * **Apple Push Notification service SSL (Sandbox & Production)**
   * 次に**Continue**をクリックします

   <Frame>
     <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/6a48d1c410b80812f2893209eec0ae3d761ec86e40229b03ac780f1ae7124e48-image.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=6e0d0bb4d73dab95c32a0dc96d740723" alt="Apple Push Notification service SSL SandboxおよびProductionオプションが表示されたApple証明書ページ" width="896" height="865" data-path="images/docs/6a48d1c410b80812f2893209eec0ae3d761ec86e40229b03ac780f1ae7124e48-image.png" />
   </Frame>

4. リストから**App ID**を選択し、**Continue**をクリックします。

<Frame>
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/35daef0614fe669cadeb12adb900f0da6deab8b4283e29e1ba2712ce3d23e634-image.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=af9f0fb1fefed645b5ebefc6964d0d2d" alt="プッシュ証明書用のApp ID選択ドロップダウン" width="897" height="366" data-path="images/docs/35daef0614fe669cadeb12adb900f0da6deab8b4283e29e1ba2712ce3d23e634-image.png" />
</Frame>

5. 以前に生成した`.certSigningRequest`ファイルをアップロードします。

<Frame>
  <img src="https://mintcdn.com/onesignal/MUgio66t0sYhGEvj/images/docs/6bb85bd5c6f420f73f1325ca5ccceea1c9cb22c618ccae8e7b34b5ead7fe28aa-image.png?fit=max&auto=format&n=MUgio66t0sYhGEvj&q=85&s=1ca586cee9190e53ea681b411e36a786" alt="証明書署名要求ファイルのアップロードダイアログ" width="662" height="626" data-path="images/docs/6bb85bd5c6f420f73f1325ca5ccceea1c9cb22c618ccae8e7b34b5ead7fe28aa-image.png" />
</Frame>

6. **Continue**をクリックし、次に**Download**をクリックして、生成された`.cer`ファイルをコンピューターに保存します。

<Frame>
  <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/ca14b193b3ac73e0e4dfbc1697a3e24454341ebd880d2391d369fe20868f9434-image.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=e81079a2a25e6e82ed0eb9f1204ab774" alt="生成された.cer証明書ファイルのダウンロードボタン" width="924" height="368" data-path="images/docs/ca14b193b3ac73e0e4dfbc1697a3e24454341ebd880d2391d369fe20868f9434-image.png" />
</Frame>

この`.cer`ファイルは、次のセクションで`.p12`証明書を作成するために使用します。

***

## 秘密鍵を作成して.p12証明書をエクスポート

1. ダウンロードした`.cer`ファイルを**ダブルクリック**して、**キーチェーンアクセス**にインポートします。

2. キーチェーンアクセスで、次の場所に移動します：

   * **キーチェーン > ログイン**
   * **カテゴリ > マイ証明書**

3. **Apple Push Services**という名前の証明書を見つけます。

4. 証明書を**右クリック**して、**書き出す**を選択します。

<Frame caption="書き出すと、指定したファイルの場所に.p12ファイルが生成されます">
  <img src="https://mintcdn.com/onesignal/RWtLFPeffHrC81wI/images/docs/a8aae38ea4755020f4695ddd6fd2ccfc0e0bd8d262414665467f973d3ed90912-image.png?fit=max&auto=format&n=RWtLFPeffHrC81wI&q=85&s=ce1453c325f0ad6790754f25a7a1a506" alt="Apple Push Services証明書の書き出しオプションが表示されたキーチェーンアクセスの右クリックメニュー" width="960" height="720" data-path="images/docs/a8aae38ea4755020f4695ddd6fd2ccfc0e0bd8d262414665467f973d3ed90912-image.png" />
</Frame>

5. ファイルを保存する場所を選択し、ファイル形式として\*\*`.p12`\*\*を選択します。

6. プロンプトが表示されたら、`.p12`ファイルに**パスワード**を設定します。このパスワードは、OneSignalにアップロードする際に必要です。

<Frame>
  <img src="https://mintcdn.com/onesignal/6v_cVPknFpo5qSVB/images/docs/070cbc6d0197377e3805cf23e92bf9d876efdb1754e9c233db8bde453cc7dcd4-Screenshot_2025-04-16_at_2.10.17_PM.png?fit=max&auto=format&n=6v_cVPknFpo5qSVB&q=85&s=58e96cbb675ff90014c37e7fd1852975" alt=".p12ファイル形式の選択とパスワード入力プロンプトが表示された保存ダイアログ" width="918" height="558" data-path="images/docs/070cbc6d0197377e3805cf23e92bf9d876efdb1754e9c233db8bde453cc7dcd4-Screenshot_2025-04-16_at_2.10.17_PM.png" />
</Frame>

***

## .p12をOneSignalにアップロード

1. [OneSignalダッシュボード](https://onesignal.com)で、アプリ > **設定 > プッシュ & アプリ内 > Apple iOS**に移動します。
2. `.p12`ファイルをアップロードします（パスワードを設定した場合は入力します）。**保存**をクリックします。

<Check>
  OneSignalで\*\*.p12証明書を使用したAPNs認証\*\*のセットアップが正常に完了しました。

  これで、iOSアプリでプッシュ通知を送受信できるようになりました！🎉
</Check>

***

## .p12のトラブルシューティング

### 無効な証明書形式エラー

**原因：** アップロードされたファイルが`.p12`形式ではありません。

**修正方法：** キーチェーンアクセスから証明書を\*\*`.p12`として\*\*エクスポートしてください（`.cer`や`.pem`ではありません）。

### OneSignalにアップロード時の「パスワードが正しくありません」エラー

**原因：** パスワードが誤って入力されたか、設定されていません。

**修正方法：**

* 再度エクスポートして、**新しいパスワード**を設定してください。
* 貼り付ける際に余分なスペースが追加されていないことを確認してください。
* Provisionatorを使用している場合、パスワードはUIに表示されます。

### エクスポートされたファイルに秘密鍵がない

**原因：** 証明書がインポートされましたが、秘密鍵とペアになっていません。

**修正方法：**

* 同じマシンのキーチェーンアクセスから**CSRを生成**してください。
* `.cer`ファイルをダウンロードした後、ダブルクリックしてインストールし、**マイ証明書**の下にキーが表示されるか確認してください。

### アップロード後にプッシュ通知が機能しない

**原因：** App IDが正しくないか、プロビジョニングプロファイルに機能がありません。

**修正方法：**

* `.p12`がアプリで使用されている**App ID**と一致することを確認してください。
* Apple Developer Portalで、App IDに**プッシュ通知が有効**になっていることを確認してください。
* プロビジョニングプロファイルに**プッシュ**が含まれていることを確認してください。

### 期限切れの証明書

**原因：** `.p12`証明書が無効になりました。

**修正方法：**

* Apple Developer > 証明書に移動して、有効期限を確認してください。
* 古い証明書を取り消して、新しい証明書を作成してください。

***

## 次のステップ

<Columns cols={2}>
  <Card title="iOS SDKのセットアップ" icon="apple" href="./ios-sdk-setup">
    OneSignal SDKをインストールし、アプリで初期化して、テスト通知を送信します。
  </Card>

  <Card title="モバイルSDKのセットアップ" icon="mobile" href="./mobile-sdk-setup">
    プラットフォームを選択し、Android、iOS、またはクロスプラットフォームフレームワークの完全なSDK統合ガイドに従います。
  </Card>
</Columns>

***

## FAQ

### .p12証明書はいつ期限切れになりますか？また、どのように更新しますか？

.p12証明書は作成から**1年後**に期限切れになります。更新するには、新しいCSRを生成し、Apple Developerで新しいプッシュ証明書を作成し、.p12としてエクスポートして、OneSignalダッシュボードに再アップロードします。中断を避けるためにカレンダーリマインダーを設定してください。または、期限切れにならない[.p8キー](./ios-p8-token-based-connection-to-apns)に切り替えることもできます。

### .p8と.p12のどちらを使用すべきですか？

OneSignalはほとんどのアプリに\*\*.p8キー\*\*を推奨します。.p8キーは期限切れにならず、Apple Developerアカウント下のすべてのアプリで使用でき、管理が簡単です。.p12証明書はアプリ固有であり、毎年更新が必要です。セットアップ手順については[.p8キーガイド](./ios-p8-token-based-connection-to-apns)を参照してください。

### プロビジョニングプロファイルは必要ですか？作成方法は？

はい、Appleは開発、テスト（Ad Hoc）、App Storeへの配布用に異なるタイプのプロファイルを必要とします。

Xcodeで、**自動的に署名を管理**を選択すると、自動的に作成できます。

<Frame>
  <img src="https://mintcdn.com/onesignal/jBdBk5XvQR5eKOks/images/docs/73993224529058ffe5797afc5998c49bd54a64d5dd97cce26479b5f69c0bf46d-Screenshot_2025-04-21_at_4.48.21_PM.png?fit=max&auto=format&n=jBdBk5XvQR5eKOks&q=85&s=794544ccd6d05744f053386b2a961c74" alt="自動的に署名を管理が有効になったXcodeの署名と機能タブ" width="2058" height="632" data-path="images/docs/73993224529058ffe5797afc5998c49bd54a64d5dd97cce26479b5f69c0bf46d-Screenshot_2025-04-21_at_4.48.21_PM.png" />
</Frame>

それ以外の場合は、詳細について[Appleのプロビジョニングプロファイルに関するドキュメント](https://developer.apple.com/help/account/provisioning-profiles/provisioning-profile-updates)を参照してください。

***
