iOSでのプッシュ通知の準備(HTTP/2・トークン認証での接続の場合)

iOS アプリのビルドを行うには、iOS アプリをビルド・署名する環境が必要となります。

また、プッシュ通知を使うアプリの場合は BoltzEngine から APNs へ接続する際に使用する認証情報を生成するためのキーが必要になります。

※このページではHTTP/2方式でトークン認証を使う場合の方法をご案内しています。バイナリインターフェイスで証明書を使った接続をご利用になる場合は「バイナリインターフェイス・証明書認証での接続の場合」のページをご覧ください。

作業に必要なものとアウトプット

この作業には以下のものをご準備いただく必要があります。

  • Apple Developer Program の契約
  • ビルド環境となる Xcode がインストールされた Mac
  • アプリの Bundle Identifier
    • アプリのユニーク ID です。APNs など、Apple のクラウドサービスと連携するアプリの場合は開発前に決定しておく必要があります。
    • 通常ドメイン名の逆で記載します。(例: com.fenrir-inc.boltzmessenger)
    • BoltzMessenger ご使用の場合は、御社の逆ドメイン + boltzmessenger としていただくことを推奨します。
  • iOS デバイスの UDID (開発・デバッグ実行する場合、Ad Hoc 配布をする場合)
    • インストールが許可される端末を特定するために必要です。

この作業をすると、以下のものを準備することができます。

  • 開発・配布用の証明書・秘密鍵・公開鍵
  • プロビジョニングプロファイル

    • アプリを実機に転送する署名をするときに使用します。
  • APNs 認証キー

    • こちらはサーバー側(BoltzEngine)で使用します。

実施する作業

以下の作業を実施します。

  • ビルド用証明書(開発用証明書 / 配布用証明書)の発行
  • App ID の登録
  • APNs 認証キーの発行
  • 配布先デバイスの登録 (開発・アドホック配布の場合)
  • プロビジョニングプロファイルの作成
  • サーバー用の証明書ファイル作成

HTTP/2用のAPNs認証キーは同一のDeveloper Programで作成したアプリすべて共通で使用できます。

Apple Developer Program の契約

まだ Apple Developer Program への加入を行っていない場合は、下記のサイトから登録してください。なお、Xcode 7 以降で使用できる無料版では、プッシュ通知に必要な証明書を発行することができませんのでご注意ください。

App Store 経由で一般配布用のアプリを開発する場合

Apple Developer Programを契約します。登録された端末でのデバッグ実行・アドホック配布の他、App Store でのアプリ配信が可能です。

社内・社員向けにアプリを直接配布する場合

Apple Developer Enterprise Programを契約します。登録された端末でのデバッグ実行・アドホック配布の他、社内・社員向けに数量に制限なく配布が可能なIn Houseビルドが利用できます。

ただし、In Houseビルドの外部漏洩はAppleとの契約違反となりますのでご注意ください。

アドホック配布とは

アドホック (Ad Hoc) 配布は、Apple Developer Programのアカウント上に登録した端末に限定して配布することができる機能です。

登録できる端末は、開発・アドホック全体で各アカウントごとにiPhone, iPad, iPod touchそれぞれ 100 台ずつまでです。

Xcode の準備

XcodeをMac App StoreもしくはAppleの公式サイトよりダウンロード・インストールしてください。

状況により、古いXcodeが必要な場合、Downloads for Apple Developersのページからダウンロードすることができます。このサイトからダウンロードしたXcodeを直接Applicationフォルダにコピーせず、一度別のフォルダにコピーした後、名前を変更(Xcode6.4.appなど)したうえでアプリケーションフォルダに移動させることで、1つの環境に複数バージョンの Xcode を共存させることができます。

証明書の発行要求の作成

ここから先の手順では、証明書の発行要求ファイル(CSR,certSigningRequest)を作成してアップロードする手順が複数回存在します。証明書の発行要求は以下の手順で作成できます。要求する証明書ごとにこの作業を行う必要があります。

まず、Mac で「キーチェーンアクセス」を起動します。アプリケーションフォルダのユーティリティの中にありますが、画面右上の虫眼鏡アイコン(Spotlight)で「キーチェーンアクセス」と検索すると簡単に見つけることができます。

キーチェーンアクセスが起動したら、画面左上の[キーチェーンアクセス]メニューから[証明書アシスタント]をポイントし、[認証局に証明書を要求…]をクリックします。

※証明書を選択した状態でこのメニューを開くと [‘…’として認証局に証明書を要求…] となります。更新の場合は選択した状態で実行しますが、新規の場合は選択を外して再度やり直してください。

開いたウィンドウでウィザードを進めると、証明書発行要求のダイアログが表示されます。下記の通り入力します。

入力項目 入力内容
ユーザーのメールアドレス Apple ID のメールアドレスを入力します。
通称 識別しやすい名前を入力します (キーチェーンアクセスに秘密鍵・公開鍵がこの名前で登録されます)
CA のメールアドレス 空欄
要求の処理 ディスクに保存

certSigningRequest ファイルを保存する画面となりますので、デスクトップなどわかる場所に保存してください。保存されたファイルを各手順で表示されるアップロード画面でアップロードすることで証明書が発行されます。

証明書を発行できたら、発行された証明書をキーチェーンに取り込みます。ダウンロードした cer ファイルを開くと、キーチェーンに登録して良いか確認が表示されます。キーチェーンが[ログイン]となっていることを確認して[追加]をクリックすると、キーチェーンに証明書が取り込まれます。

キーチェーンの分類で証明書を選択し、作成した秘密鍵と対になっていることを確認します。

※certSigningRequest ファイルは一度アップロードして証明書が発行された後は不要となりますので、破棄してもかまいません。

Certificates, Identifiers & Profiles ページでの操作

iOS Developer Program の Member Center 内にある Certificates, Identifiers & Profiles ページでは、Mac, iOS アプリの署名に使用する各種証明書の発行、iOS アプリに Apple が提供する各種クラウドサービスの有効化を行うことができます。

開発用証明書・配布用証明書の発行

Xcode でアプリに署名するための証明書を発行します。Certificates画面を開き、画面右上の[+]をクリックします。

発行する証明書を選択する画面となりますので、目的の証明書を選択します。

種類 内容
iOS App Development Xcode でデバッグ実行するための「開発用証明書」
App Store and Ad Hoc (Apple Developer Program) 配布用のビルドを作るための「配布用証明書」
In-House and Ad Hoc (Apple Developer Enterprise Program) 配布用のビルドを作るための「配布用証明書」

※開発用証明書を使用する場合、APNs はサンドボックス環境となり、サーバーもサンドボックス専用にセットアップする必要があります。

その後、ページの指示に従って進めると、証明書発行要求をアップロードする画面となります。「証明書の発行要求の作成」の手順で作成した certSigningRequest ファイルをアップロードしてください。

アップロードすると証明書ファイルが生成されるので、ダウンロードします。

App ID の作成

作成するアプリの Bundle Identifier を登録し、Apple の各種サービスをアプリで利用できるようにします。iOS App IDs 画面を開き、画面右上の[+]をクリックします。

表示された画面でアプリに関する情報を入力します。

入力項目 入力内容
Name アプリの名前などを入力します。英数字とスペースが使えます。
App ID Prefix 特に理由がなければ末尾に (Team ID) と表示されているものを選択します。(利用開始時期によっては表示されません)
App ID Suffix [Explicit App ID] を選択し、Bundle ID に事前に決めておいた Bundle Identifier を入力します。
App Services Push Notification にチェックを入れてください。(デフォルトでONとなっていて解除できないものもあります)

APNs 署名キーの作成

サーバー(BoltzEngine)側に登録する署名キーを作成します。Keys画面を開き、[+]を開きます。

キーに適切な名前を設定し、Key Servicesに[Apple Push Notification Service]を選択して、[Continue]をクリックします。

その後、ページの指示に従って進めますと、キーをダウンロードする画面になります。キーをダウンロードし、Key IDと共に控えておきます。この画面を閉じると再度キーをダウンロードすることはできませんので、ご注意ください。

デバイスの登録

開発・アドホック配布で使用する場合は、デバイスを Apple Developer Program 上に登録する必要があります。

登録の際、端末の固有 ID (UDID) という値が必要となります。iTunes もしくは Xcode で取得が可能です。

iTunes を用いて UDID を取得する

iTunes のデバイス画面を開き、表示されているシリアル番号をクリックします。

Xcode を用いて UDID を取得する

デバイスを USB 接続した状態で Xcode の [Window] メニューから [Devices] を選択し、開いたウィンドウから接続中のデバイスを選択すると、Identifier が表示されますので、こちらを選択してコピーしてください。

デバイスを登録する

iOS Devices画面を開き、画面右上の[+]をクリックします。

表示された画面で端末の情報を入力します。

入力項目 入力内容
Name 端末に名前をつけます。管理上都合の良い名前を指定します。
UDID 取得した UDID を入力します。

プロビジョニングプロファイルの作成

プロビジョニングプロファイルはアプリ・署名する証明書・配信先のデバイスの組み合わせや有効になっているサービスの情報などが書き込まれたファイルで、署名時に証明書と共に使用されます。

Provisioning Profiles画面を開き、画面右上の[+]をクリックします。

プロビジョニングプロファイルの目的を選択する画面となりますので、以下の中から適切なものを選択します。(画面はApple Developer Enterprise Programのものです。Apple Developer Program の場合は In House の部分が App Store となります)

選択項目 内容
iOS App Development 開発用
App Store App Store 配信用 (Apple Developer Program)
In House In House 配布用 (Apple Developer Enterprise Program)
Ad Hoc アドホック配布用

次の画面に進むと App ID の選択となりますので、対象となるアプリの App ID を選択して次の画面に進んでください。

署名に使用する証明書の選択となりますので、証明書を選択して次の画面に進んでください。

開発用プロファイルとアドホック配布用プロファイルの場合は、転送先のデバイスを選択する画面となります。使用するデバイスを選択して次の画面に進んでください。

最後にプロファイルの名前を入力する画面となります。管理上都合の良い名前を入力して次の画面に進んでください。

プロファイルが作成され、ダウンロードできるようになります。ダウンロードしたファイルを開くと Xcode が開き、取り込まれます。(画面上は何かが起こったように見えない形になっています)

ご不明な点はありませんか?

機能の詳細、導入のご検討、お見積もり依頼などは、お気軽にお問い合わせください。
担当者から追ってご連絡いたします。

お問い合わせはこちら

記事へ戻る