.p12証明書は1年後に期限切れになります。この証明書の更新を管理したくない場合は、代わりに期限切れにならない.p8キーを作成できます。
要件
開始する前に、次のものがあることを確認してください:- iOSモバイルアプリ。
- 管理者アクセスを持つ有料のApple Developerアカウント。
- OneSignalアカウント。
- Xcode 14以降を搭載したMac。
- Xcodeで設定されているアプリターゲットのバンドルID。
- プッシュ通知機能が有効になっているXcodeプロジェクト。
プッシュ証明書を生成
まず、macOSで証明書署名要求.certSigningRequestファイル(CSR)を作成する必要があります。
- キーチェーンアクセスを開く:アプリケーション > ユーティリティ > キーチェーンアクセス
- 証明書アシスタントを起動

Macキーチェーンアクセス
- 情報を入力
- ユーザーのメールアドレス:
your-email@example.com - 通称:あなたの名前または証明書の名前
- CAのメールアドレス:これを空白のままにします
- 要求の処理:ディスクに保存を選択

証明書アシスタントウィンドウ
- 続けるをクリック
.certSigningRequestファイルを保存する場所を選択- 保存をクリックして完了
.certSigningRequestファイルができました!
アプリのプッシュ機能を有効化
Xcode内で自動的に署名を管理を使用している場合はスキップしてください。- Apple DeveloperポータルのIdentifiersセクションに移動し、リストからアプリのアプリIDを見つけて選択します。

- チェックボックスをオンにしてプッシュ通知機能を有効にします。⚠️**「構成」をクリックしないで**ください。トグルを有効にするだけです。

プッシュ証明書を作成
次の手順に従って、Apple Push Notification service(APNs)SSL証明書を生成します:- Apple証明書ページにアクセスします。
- **プラス(+)**ボタンをクリックして新しい証明書を作成します。
-
Servicesの下で、以下を選択します:
- Apple Push Notification service SSL (Sandbox & Production)
- 次にContinueをクリックします

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

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

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

.cerファイルを使用して、プッシュ通知サービスを設定します。
秘密鍵を作成して.p12証明書をエクスポート
-
ダウンロードした
.cerファイルをダブルクリックして、キーチェーンアクセスにインポートします。 -
キーチェーンアクセスで、次の場所に移動します:
- キーチェーン > ログイン
- カテゴリ > マイ証明書
- Apple Push Servicesという名前の証明書を見つけます。
- 証明書を右クリックして、書き出すを選択します。

書き出すと、指定したファイルの場所に.p12ファイルが生成されます
- ファイルを保存する場所を選択し、ファイル形式として**
.p12を選択します。プロンプトが表示されたら、.p12ファイルにパスワードを設定できます(このパスワードは、OneSignalなどのサービスにアップロードする際に必要です)**。

.p12をOneSignalにアップロード
- OneSignalダッシュボードで、アプリ > 設定 > プッシュ & アプリ内 > Apple iOSに移動します。
.p12ファイルをアップロードします(パスワードを設定した場合は入力します)。保存をクリックします。
OneSignalで**.p12証明書を使用したAPNs認証**のセットアップが正常に完了しました。これで、iOSアプリでプッシュ通知を送受信できるようになりました!🎉
.p12のトラブルシューティング
無効な証明書形式エラー
原因
アップロードされたファイルが
.p12形式ではありません。修正方法
キーチェーンアクセスから証明書を**
.p12として**エクスポートしてください(.cerや.pemではありません)。OneSignalにアップロード時の「パスワードが正しくありません」エラー
原因
パスワードが誤って入力されたか、設定されていません。
修正方法
- 再度エクスポートして、新しいパスワードを設定してください。
- 貼り付ける際に余分なスペースが追加されていないことを確認してください。
- Provisionatorを使用している場合、パスワードはUIに表示されます。
エクスポートされたファイルに秘密鍵がない
原因
証明書がインポートされましたが、秘密鍵とペアになっていません。
修正方法
- 同じマシンのキーチェーンアクセスからCSRを生成してください。
.cerファイルをダウンロードした後、ダブルクリックしてインストールし、マイ証明書の下にキーが表示されるか確認してください。
アップロード後にプッシュ通知が機能しない
原因
App IDが正しくないか、プロビジョニングプロファイルに機能がありません。
修正方法
.p12がアプリで使用されているApp IDと一致することを確認してください。- Apple Developer Portalで、App IDにプッシュ通知が有効になっていることを確認してください。
- プロビジョニングプロファイルにプッシュが含まれていることを確認してください。
期限切れの証明書
原因
.p12証明書が無効になりました。修正方法
- Apple Developer > 証明書に移動して、有効期限を確認してください。
- 古い証明書を取り消して、新しい証明書を作成してください。
FAQ
プロビジョニングプロファイルは必要ですか?作成方法は?
はい、Appleは開発、テスト(Ad Hoc)、App Storeへの配布用に異なるタイプのプロファイルを必要とします。 Xcodeで、自動的に署名を管理を選択すると、自動的に作成できます。