APNs証明書の設定 (iOS)¶
Reproからプッシュ通知を送信するにはp8形式の鍵もしくはp12形式の証明書が必要です。そのために以下の手順ではp8形式の鍵とp12形式の証明書を作成します。
APP IDの作成¶
証明書を作成するために必要な「APP ID」を作成します。
すでにAPP IDを作成済みの場合は 証明書の作成 へお進みください。
iOS Developer Center のメンバーセンターにログインし、 Account ページに移動して、 Certificates, IDs & Profiles をクリックします。


Identifiers をクリックします。

+ ボタンをクリックして、新規のIdentifierの登録画面を開きます。次の画面で APP IDs を選択して、Continue をクリックします。


下記の項目を入力して Continue をクリックします。
- Description:
- APP IDの名前を入力します。管理者が判別しやすい任意の名前を入力してください。
- Bundle ID:
- APP IDの種類を決めます。Explicitを選択し、Bundle IDを入力します。Bundle IDはプッシュ通知を送信したいアプリのBundle IDと同一のもの設定してください。
- Capabilities:
- アプリで使用するサービスを設定します。Push Notificationsにチェックします。
入力内容を確認し、 Register するとAPP IDが作成されます。

証明書の作成¶
p8形式の鍵を利用する場合¶
p8形式の鍵を発行する¶
iOS Developer Center にて、 Certificates, IDs & Profiles ページに移動し、下記のKeysの項目を選択し、Keyを追加するボタンを押してください。

下記のような画面が表示されるので、Apple Push Notifications service (APNs)をチェックし、Keyに適当な名前をつけ、Continueを押してください。

すると下記のような確認画面が表示されますので、問題がなければRegisterを押してp8形式の鍵を発行してください。

上記を実行すると、下記のような画面が表示され、p8形式の鍵をダウンロードすることが可能になります。
この際に、表示されるKEY IDは後で利用するので、書き留めておいてください。

p8形式の鍵をReproにアップロード¶

Reproの管理画面 を開き、 設定 > プッシュ通知設定 を開きます。 ファイルを選択する をクリックして、先ほど作成したp8形式の鍵を選択します。
① KEY IDの入力
上記で書き留めておいたKEY IDを入力してください。
② Team IDの入力
iOS Developer Center のメンバーセンターにログインし、 Membership のページに移動すると下記の画像のような画面が表示されますので、そちらから確認が可能です。

③ Bundle ID
アプリのBundle IDになりますので、Xcodeからご確認ください。
④ 環境の設定
ご利用中のSDKトークンに紐づくアプリのビルド設定に応じて、環境を選択してください。
注釈
- 上記の環境の設定では、本番環境では必ずProductionを、開発環境の場合はSandboxを選択してください。
- 本番環境と開発環境の定義は以下の通りです
- 本番環境: App Storeからダウンロードしたアプリもしくは、TestFlightなどのテストアプリ配布ツール等を利用してAdHoc配布されたアプリの場合
- 開発環境: IDE(統合開発環境)から直接ビルドしたアプリケーションの場合
p12形式の証明書を利用する場合¶
CSRの作成¶
証明書を作成するために必要な「CSR(証明書署名要求)」を作成します。CSRはお使いのMacのキーチェーンアクセスで作成することができます。
キーチェーンアクセス -> 証明書アシスタント -> 認証局に証明書を要求...を選択します。

メールアドレス と 通称 を入力し、 ディスクに保存 にチェックして 続ける をクリックします。

CSRファイルが作成されますので、任意の場所に保存します。

CSRのアップロード¶
iOS Developer Center にて、 Certificates, IDs & Profiles ページに移動します。
作成した App IDの行をクリックします。
Push Notificationsの欄の Configure をクリックします。

クリックすると、証明書作成のポップアップが表示されます。
APNsには、DevelopmentとProductionがあり、それぞれ異なる証明書が必要です。 DevelopmentとProductionは、アプリのビルド方法によって、どちらを使用するか変わります。 詳しくは、下記の注釈をご参照ください。
今回はDevelopmentの証明書を作ります。
注釈
プッシュ通知証明書は、配信対象となるアプリの配布方法(Ad hocまたはIn-House)によって証明書の種類を分けて登録する必要があります。下記の様にそれぞれのアプリ環境にあわせて正しい種類の証明書を選択して下さい。
- Development SSL Certificate: IDE(統合開発環境)から直接ビルドしたアプリケーションの場合
- Production SSL Certificate: App Storeからダウンロードしたアプリもしくは、TestFlightなどのテストアプリ配布ツール等を利用してAdHoc配布されたアプリの場合
証明書を作成するためにはCSRが必要という旨の説明とアップロード用のフォームが表示されます。
Choose File にて先ほど作成したCSRファイルを選択し、 Continue をクリックします。

証明書が作成されますので Download をクリックして証明書をダウンロードしてください。

証明書をp12形式に変換する¶
先ほどダウンロードした証明書(.cer形式のファイル)をダブルクリックするとキーチェーンアクセスが起動します。証明書は Apple [Development/Production] iOS Push Services: [Bundle ID] もしくは Apple Push Services: [Bundle ID] のような名前でキーチェーンアクセスに追加されていますので、検索窓にBundle IDの一部を入力すると候補を絞ることができます。

証明書の左の三角マークをクリックし、 証明書 と 秘密鍵 が表示させます。 証明書 のみを選択した状態で control キーを押しながらクリックします。

表示されたポップアップにて [証明書名]を書き出す… を選択します。

表示されたダイアログにてフォーマットが 個人情報交換(.p12) 形式であることを確認し、任意の場所に保存します。

書き出した項目を保護するために使用されるパスワードを入力 というダイアログが表示されます。ここで入力したパスワードは、次節、p12形式の証明書をReproにアップロード の手順の際に必要ですので、覚えておいてください。パスワードを設定しなくても問題ありません。

キーチェーンアクセスが証明書を書き出すためにMacのパスワードを入力するとp12形式の証明書が保存されます。

p12形式の証明書をReproにアップロード¶
Reproの管理画面 を開き、 設定 > プッシュ通知設定 を開きます。 P12ファイルを選択 をクリックして、先ほど作成したp12ファイルを選択します。p12ファイル作成時にパスワードを設定した場合は「証明書のパスワード」欄にパスワードを入力してください。

注釈
- p8形式の鍵とp12形式の証明書を両方とも管理画面からアップロードした場合には、p8の鍵が使用されます。しかしながら、AppleDeveloper側でp8形式の鍵がRevokeされるとp12形式の証明書が利用されることがあります。
Provisioning Profileの設定¶
iOS Dev Centerの Certificates, IDs & Profiles にてProfilesを開き、Provisioning Profileを追加するために + ボタンをクリックします。

Provisioning Profileの種類を「iOS App Development」「Ad Hoc」「App Store」のいずれかから選択して Continue をクリックします。

プッシュ通知を送信するAPP IDを選択して Continue をクリックします。

Provisioning Profileに含める証明書を選択して Continue をクリックします。

インストール対象の端末を選択して Continue をクリックします(DevelopmentおよびAd HocのProvisioning Profile作成時のみ)。

Provisioning Profileの名前を入力して Generate をクリックするとProvisioning Profileが作成されます。

「Download」をクリックして作成されたProvisioning Profileをダウンロードします。

ダウンロードしたProvisioning Profileをダブルクリックして、Xcodeに取り込みます。
正常に取り込みが完了した場合、XcodeはそのプロジェクトにあったProvisioning Profileを自動的に選択します。

自動的に選択されたProvisioning Profileが作成したProvisioning Profileと違う場合、手動で設定することも可能です。
Xcodeの Singing & Capabilities にて作成したProvisioning Profileを設定します。
Automatic manage signing のチェックを外し、 Provisioning Profile のドロップダウンメニューから、作成したProvisioning Profileを選択してください。
