【Apple】APNsの連携に必要な設定(p12証明書方式)

Flutter

このページは、2024/3/31にサービスが終了するニフティクラウドのmobile backendから参考になる部分を抜き取ってきています。

ニフクラ、今までありがとう。

APNsの連携に必要な設定(p12証明書方式)

p12証明書を取得するのに必要なこと

  • iOS Developer Programへの登録

iOS Developer Programの登録は有料であり、Appleへの料金が発生します。
詳細はAppleのページをご覧ください。
以下では、iOS Developer Program登録後の手順について説明していきます。

証明書を取得するまでの流れ

証明書の管理画面を開く

Appleの開発者サイトから、Accountを開き、
Appleのアカウントでログインします。

ログイン後の画面が以下のようになり、その中の
Certificates, Identifiers & Profilesの項目にあるリンクをクリックします。

アプリを登録する

Appleにアプリを登録することで、証明書が作成できます。
左メニューのIdentifiersを開き、Identifiersの隣にある+ボタンをクリックすると、
Register a New Identifierの画面が開きます。

こちらの画面で、App IDsにチェックを入れ、Continueをクリックすると、アプリの登録画面が開きます。

アプリの登録画面では以下の3点を設定し、登録を行ってください。

  • App ID Description(アプリ名)
  • Bundle ID(Xcodeで表示されるBundle Identifier)
    • 確認方法
      • Xcodeを開く
      • 左側のファイル一覧から、プロジェクトをクリックし設定画面を開く
      • 作成されているTARGETを選択し、Generalの項目を開く
  • Push Notificationを有効にする

登録時の画面サンプルは以下のようになります。

証明書を作成する

左メニューのCertificatesを開き、Certificatesの隣にある+ボタンをクリックすると、
Create a New Certificateの画面が開きます。

証明書の作成画面が表示されるので、下の方にあるServicesの項目にある必要なAPNs証明書を選択してください。

  • iOS Apple Push Notification service SSL (Sandbox):開発用のプッシュ通知証明書
  • Apple Push Notification service SSL (Sandbox & Production):本番用のプッシュ通知証明書

なお、リリースされるアプリ(本番用アプリ)に対して開発用証明書を設定した場合、badDeviceTokenが発生してしまいますのでご注意ください。
※badDeviceTokenについてはこちら

  • 開発用:Apple Push Notification service SSL (Sandbox) を選択
  • 本番用:Apple Push Notification service SSL (Sandbox & Production) を選択
    • 本来は開発用と本番用を兼ねた証明書ですが、ニフクラ mobile backendに設定する場合は本番用として設定してください。

どのアプリに紐づいた証明書を作成するのか選択する必要があります。
下のプルダウンメニューにAppleに登録されたアプリの一覧が表示されるので、
証明書を作成するアプリを選択してください。

次の画面では、CSRファイルを選択する必要がありますので、CSRファイルについて説明して行きます。

CSRファイルは、開発者証明書を登録する際に既に作成済みの場合、再度作成する必要がありません。
まだ作成されていない場合、以下の手順でキーチェーンアクセスから作成します。
キーチェーンアクセスのメニューから証明書アシスタント>認証局に証明書を要求…を選択します。

メールアドレスと通称を設定し、ディスクに保存を選択して、続けるボタンをクリックします。
CSRファイルの保存場所を決めて、保存してください。

証明書作成画面に戻り、CSRファイルをアップロードしてください。

証明書の作成が完了すると、証明書をダウンロードすることができます。

(参考)Certificatesの一覧ではTYPEとしてそれぞれ以下のように表示されます。

  • 開発用:Apple Sandbox Push Services
  • 本番用:Apple Push Services
証明書を.p12形式に変換する

ダウンロードした証明書をダブルクリックすると、キーチェーンアクセスが開きます。
証明書を選択し、メニューを表示して書き出しを選択してください。
このとき下の図のように、証明書と秘密鍵を両方表示して証明書のみ書き出してください。
秘密鍵をセットにして証明書を書き出すと、プッシュ通知を配信するときにエラーとなります。

保存名と場所を指定し、保存ボタンをクリックしてください。

書き出す証明書に対してパスワードを設定する画面が開きますが、設定せずにOKボタンをクリックしてください。

Buy me a coffee!

FlutterSwiftSwiftUIアプリ開発
シェアする
sogaをフォローする
SOGA BLOG
タイトルとURLをコピーしました