> ## 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 p8トークンベースのAPNs接続

> .p8認証キーを設定して、OneSignal経由でiOSまたはmacOSアプリをApple Push Notification service（APNs）に接続します。

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

このガイドでは、推奨されるアプローチである**トークンベース.p8キー**のセットアップについて説明します。

***

## 要件

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

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

***

## APNs認証のセットアップ

### Apple Developerアカウントで.p8キーを生成

<Tip>
  Appleの完全な手順については、[サービスにアクセスするための秘密鍵の作成](https://developer.apple.com/help/account/keys/create-a-private-key/)を参照してください。
</Tip>

1. [Apple Developerアカウント](https://developer.apple.com/)にログインします。
2. \*\*証明書、識別子 & プロファイル > [キー](https://developer.apple.com/account/resources/authkeys)\*\*に移動します。
3. \*\*青いプラス（+）\*\*アイコンをクリックします。
   * 表示されない場合は、管理者にアクセスを依頼してください。

<Frame>
  <img src="https://mintcdn.com/onesignal/tNi1OgLc_p9hiq7_/images/docs/1e2ff6e-Apple_Key_Page.jpg?fit=max&auto=format&n=tNi1OgLc_p9hiq7_&q=85&s=695489e801fe6cb492ed826e0ea2c22b" alt="新しいキーを作成するための青いプラスアイコンが表示されているApple Developerキーページ" width="2616" height="884" data-path="images/docs/1e2ff6e-Apple_Key_Page.jpg" />
</Frame>

4. \*\*Apple Push Notifications service（APNs）\*\*を選択します。
5. キーを設定する際、**Sandbox & Production**が選択されていることを確認してください：

<Frame>
  <img src="https://mintcdn.com/onesignal/KSCNwSpBCNSQ8xdF/images/docs/p8-sandboxandproductionkey.png?fit=max&auto=format&n=KSCNwSpBCNSQ8xdF&q=85&s=1f04581e46bd74cdbc27792b243b952b" alt="SandboxとProductionが選択されているApple Developerキー設定" width="1232" height="495" data-path="images/docs/p8-sandboxandproductionkey.png" />
</Frame>

6. キーの名前を入力し、**Continue**をクリックしてから、**Register**をクリックします。

<Frame>
  <img src="https://mintcdn.com/onesignal/3zq1PvSaqvUE2bIx/images/docs/312d551-Apple_Key_Page_-_Register.jpg?fit=max&auto=format&n=3zq1PvSaqvUE2bIx&q=85&s=9b88f0e1cdb3fbdba05357ef988a1165" alt="ContinueとRegisterボタンが表示されているApple Developerキー登録ページ" width="2622" height="922" data-path="images/docs/312d551-Apple_Key_Page_-_Register.jpg" />
</Frame>

7. **.p8キーをダウンロード**して、安全に保管してください。再度ダウンロードすることはできません。

<Warning>
  新しい.p8を作成する必要があり、すでに2つある場合は、**既存のキーの1つを最初に取り消す必要があります** — そして、それは使用できなくなります。
</Warning>

***

### .p8キーをOneSignalにアップロード

1. OneSignalダッシュボードで**設定 > プッシュ & アプリ内 > Apple iOS（APNs）設定**に移動します。

<Frame caption="OneSignalダッシュボードのプッシュ設定ページ。">
  <img src="https://mintcdn.com/onesignal/KPVdijCt4_xCbkO8/images/dashboard/push-and-in-app-ios-settings.png?fit=max&auto=format&n=KPVdijCt4_xCbkO8&q=85&s=af9c2dedfc4c8f26f3aeee035cba5eb1" alt="Apple iOS APNs設定を表示するOneSignal設定ページ" width="1188" height="654" data-path="images/dashboard/push-and-in-app-ios-settings.png" />
</Frame>

2. 認証方法として\*\*.p8認証キー（推奨）\*\*を選択します。

<Frame caption="p12または別のp8から更新する場合、「認証を更新」するオプションがあります">
  <img src="https://mintcdn.com/onesignal/NCUI56Tiw7V-s0dT/images/dashboard/apns-authentication-method-selection.png?fit=max&auto=format&n=NCUI56Tiw7V-s0dT&q=85&s=bb08d987da33025d482b107fc1db1045" alt="推奨されるp8認証キーオプションを表示するOneSignal APNs認証方法の選択" width="1188" height="844" data-path="images/dashboard/apns-authentication-method-selection.png" />
</Frame>

次の情報を提供します：

* **`.p8ファイル`** – Apple Developerアカウントからダウンロードした秘密鍵ファイル。
* **`Key ID`** – 10文字の英数字文字列（例：`ABC123DEFG`）。Apple Developerアカウントの[キーセクション](https://developer.apple.com/account/resources/authkeys)にあるキー名の隣に表示されています。ダウンロードした.p8ファイルと一致していることを確認してください。
* **`Team ID`** – 10文字の英数字文字列（例：`9A1B2C3D4E`）。[Apple Developerアカウント](https://developer.apple.com/account/)の右上隅にあるチーム名の隣に表示されています。これはKey IDとは**異なります**。
* **`App Bundle ID`** – 逆ドメイン文字列（例：`com.example.app`）。次の場所で確認できます：
  * Apple Developerアカウントの[識別子セクション](https://developer.apple.com/account/resources/identifiers/list)、または
  * **Xcode > メインアプリターゲット > 署名 & 機能**

<Warning>
  **Key ID**と**Team ID**はどちらもApple Developerアカウントにある10文字の文字列ですが、異なる場所にあります。入れ違えていないか確認してください。これが最も多い設定ミスです。
</Warning>

<Frame caption=".p8キーの詳細を見つける">
  <img src="https://mintcdn.com/onesignal/9_Q1FZLh6C0BFLq-/images/docs/c8d0207041e7c277f7e4ca49a3f6100280ddcbf970fce9b720fddfbda6683bb6-p8.png?fit=max&auto=format&n=9_Q1FZLh6C0BFLq-&q=85&s=fc9c689b0880bda69813428ee7fdbe5f" alt="Key IDとTeam IDの場所を示すApple Developerアカウント" width="1445" height="506" data-path="images/docs/c8d0207041e7c277f7e4ca49a3f6100280ddcbf970fce9b720fddfbda6683bb6-p8.png" />
</Frame>

<Frame caption="XcodeでBundle IDを見つける">
  <img src="https://mintcdn.com/onesignal/_KaXe4GQkxsEfa17/images/docs/35a1fd8940c4964156b9b0b83fbc41772189ae3d2eb29f80318137887344cf4c-ea1f341-Screenshot_2024-06-18_at_3.25.41_PM.png?fit=max&auto=format&n=_KaXe4GQkxsEfa17&q=85&s=1ade7692a469b12376088ce5fac6c3c3" alt="Bundle Identifierフィールドを表示するXcode署名と機能タブ" width="2830" height="798" data-path="images/docs/35a1fd8940c4964156b9b0b83fbc41772189ae3d2eb29f80318137887344cf4c-ea1f341-Screenshot_2024-06-18_at_3.25.41_PM.png" />
</Frame>

完了したら**保存 & 続行**をクリックします。

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

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

***

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

<Steps>
  <Step title=".p8ファイル形式を確認">
    * `.p8`ファイルをテキストエディタで開きます。

    * 次のようになっているはずです：

      ```text theme={null}
      -----BEGIN PRIVATE KEY-----
      64 character line
      64 character line
      64 character line
      8 character line
      -----END PRIVATE KEY-----
      ```
  </Step>

  <Step title="誤って.p12をアップロードしていないことを確認">
    * `.p8`キーは、Apple Developerアカウントの**キー**セクションから取得します。
    * `.p12`証明書は**証明書**セクションから取得します。これらは.p8認証と互換性がありません。
  </Step>

  <Step title="正しいキーIDを持っていることを確認">
    * [Apple Developer > キーセクション](https://developer.apple.com/account/resources/authkeys)に移動します。
    * Key IDはキー名の隣に表示される10文字の文字列です（例：`ABC123DEFG`）。
    * OneSignalに入力したKey IDが、ダウンロードした`.p8`キーにリストされているものと一致することを確認します。
    * **Team IDと混同しないでください** — どちらも10文字の文字列ですが、異なる場所にあります。
  </Step>

  <Step title="チームIDを確認">
    * **Team ID**は、[Apple Developerアカウント](https://developer.apple.com/account/)の右上隅に表示されます。
    * 正確にコピーされ、キーが生成されたアカウントと一致することを確認してください。
    * **Key IDと混同しないでください** — Team IDは特定のキーではなく、あなたの開発者アカウントを識別します。
  </Step>

  <Step title="キーにAPNS機能があることを確認">
    * Apple Developerでキーを表示すると、\*\*Apple Push Notifications service（APNs）\*\*機能がリストされているはずです。
    * そうでない場合は、キーを取り消して新しいものを作成してください。
  </Step>

  <Step title="数分待つ">
    * 新しく作成されたキーは、Appleが外部認証を許可する前に**10〜15分**かかる場合があります。
    * 作成直後に検証エラーが発生した場合は、待ってから再試行してください。
  </Step>
</Steps>

### サポートが必要ですか？

* 現在の`.p8`キーを取り消して、ゼロから新しいものを作成してください。
* キーが作成されたのと同じアカウントから**有効なBundle ID**を使用していることを再確認してください。
* Key ID、Team ID、Bundle ID、およびApple Developer Key設定の編集されたスクリーンショットを添えて、`support@onesignal.com`にお問い合わせください。

***

## 次のステップ

<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

### .p8と.p12の違いは何ですか？

**.p8キー**は有効期限がなく、Apple Developerアカウント下のすべてのアプリで機能するトークンベースの認証キーです。**.p12証明書**はアプリ固有で、1年後に有効期限が切れるため、毎年更新が必要です。OneSignalはシンプルさとメンテナンスのしやすさから.p8を推奨しています。代替方法については[.p12証明書ガイド](./ios-p12-generate-certificates)を参照してください。

### .p8キーは有効期限がありますか？

いいえ。.p12証明書とは異なり、.p8キーは有効期限がありません。一度作成した.p8キーは、Apple Developerアカウントで取り消すまで有効です。

### 1つの.p8キーを複数のアプリに使用できますか？

はい。1つの.p8キーは、同じApple Developerアカウント下のすべてのアプリで機能します。同じ.p8ファイルを複数のOneSignalアプリにアップロードできます。各アプリには固有のBundle IDが必要です。

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

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

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

<Frame>
  <img src="https://mintcdn.com/onesignal/jFWn5xzleD8du3j6/images/docs/63400c422a45ceb7bd54a647c73252bc4221e3d9c62e7a595b4d58f8ae1a8c3e-Screenshot_2025-04-21_at_4.48.21_PM.png?fit=max&auto=format&n=jFWn5xzleD8du3j6&q=85&s=1f8f70d1078a89beb067d442690d6594" alt="自動署名管理が有効になっているXcode署名と機能タブ" width="2058" height="632" data-path="images/docs/63400c422a45ceb7bd54a647c73252bc4221e3d9c62e7a595b4d58f8ae1a8c3e-Screenshot_2025-04-21_at_4.48.21_PM.png" />
</Frame>

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

***
