プッシュ通知に必要な証明書の作り方2017

  • 207
    Like
  • 2
    Comment

※2017年1月5日現在、問題なく証明書作成可能でしたので、タイトルを編集(2016→2017)しました◎
2017年もよろしくお願いします:blush:

概要

  • アプリをを作るとき「プッシュ通知機能があったらいいな!」と思いませんか?でもどうやったら良いんだろ?と思う方も多いはず!そこで、今回は必要な開発用証明書周りに話を書いてみました^^*
  • このQiita記事で必要な証明書類の作成ができて、Qiita記事「Swiftでプッシュ通知を送ろう!」で実際のアプリにプッシュ通知を組み込めば、実際にプッシュ通知を受け取るところまで試すことができるようになっていますので、ぜひ試してみてください!!

プッシュ通知の仕組み

131.png

  • プッシュ通知を送るにはAPNsと連携、さらにサーバーが必要です

  • アプリ側からプッシュ通知の許可をAPNsに送って、デバイストークンを発行します

  • 発行されたデバイストークンを元にサーバーからプッシュ通知の依頼を受けたAPNsがアプリにメッセージを届けます

準備するもの

※使用した環境も記載していますが、それ以下でも動きます

  • Mac OS X 10.10(Yosemite)
  • Xcode7以上
    • Ver. 7.2.1で動作確認しています
  • iPhone
    • Xcodeのバージョンと対応するバージョンにする必要があります
    • iPhone6(Ver. 9.2.1)で動作確認しています
    • PC接続用にUSBケーブルが必要です
  • Apple Developer Programの登録(有償)
    • 証明書取得の内容には必須となります

作成するものと順序

プッシュ通知を送るために作成するもの・しておくことは以下の7つあります
1. CSRファイルの作成     ※初回作成すれば後は同じものを使いますので改めて作成不要です
2. 開発用証明書(.cer)の作成   ※初回作成すれば後は同じものを使いますので改めて作成不要です
3. AppIDの作成
4. 端末の登録
5. プロビショニングプロファイルの作成
6. APNs用証明書(.cer)の作成
7. APNs用証明書(.p12)の作成

それぞれ以下の関係で参照されています
132.png

※サーバーにはニフティクラウドmobile backend(無料)を使っています

作成方法

1. CSRファイルの作成  

※初回作成すれば後は同じものを使いますので改めて作成不要です

  • 「キーチェーンアクセス」を開いて、メニューバーの「キーチェーンアクセス」>「証明書アシスタント」>をクリックします

126.png

  • 「鍵ペア情報」を確認して「続ける」をクリックし、「設定結果」が出るので「完了」をクリックしてCSRファイルの作成は完了です

2. 開発用証明書(.cer)の作成

※初回作成すれば後は同じものを使いますので改めて作成不要です

127.png

  • 「Certificates」>「All」をクリックして、「iOS App Development」にチェックをいれ、下の方の「Continue」をクリックします

128.png

  • 開発者用証明書が作成されるので、「Download」をクリックして書き出しておきます
  • ダウンロードが終わったら「Done」をクリックして開発用証明書(.cer)の作成は完了です

3. AppIDの作成

  • Apple Developer Programのメンバーセンターにログインして、「Certificates, Identifiers & Profiles」をクリックします(※2.の画像参照)
  • 「Identifiers」の「AppIDs」をクリックして、右上の「+」をクリックします

129.png

  • 画面をスクロールするとBundleIDの入力欄が出てきます
  • 「Bundle ID」はXcodeで作成したアプリと同じものを使用します
  • 後でアプリの作成を行う場合はここで作成したBundleIDをあとでXcodeで作成するアプリに書く必要があります!

130.png

  • 更に画面をスクロールします

133.png

  • 重要:このチェックを忘れるとプッシュ通知を送ることができないので注意!!
  • 次のページで「Push Notifications」がConfigurableになっていることを確認しましょう
  • これでAppID作成は完了です

4. 端末の登録

  • 続けて「Devices」>「All」をクリックして、右上の「+」をクリックします
    134.png

  • 「Name」と「UDID」を入力します

  • UDIDは下記のようにXcodeを使うと確認しやすいです!

135.png

  • 画面下の方の「Continue」をクリックします
  • 次の画面で端末情報を確認して「Register」をクリックします
  • 次の画面で「Done」をクリックして端末登録は完了です

5. プロビショニングプロファイルの作成

  • 続けて「Provisioning Profiles」>「All」をクリックして、右上の「+」をクリックします
  • 下図の手順でそれぞれAppID、開発用証明書、端末を紐付けていきます

136.png
137.png

  • 最後にファイル名を決め、紐付けを確認し「Continue」をクリックします

138.png

  • プロビショニングプロファイルが作成されるので、「Download」をクリックして書き出しておきます
  • ダウンロードが終わったら「Done」をクリックしてプロビショニングプロファイルの作成は完了です

6. APNs用証明書(.cer)の作成

  • 続けて「Certificates」>「All」をクリックします
    139.png

  • 先に作成したAppIDとCSRファイルを選択します

140.png
128.png

  • APNs用証明書(.cer)が作成されるので、「Download」をクリックして書き出しておきます
  • ダウンロードが終わったら「Done」をクリックしてAPNs用証明書(.cer)の作成は完了です

7. APNs用証明書(.p12)の作成

  • 6.で作成した「APNs用証明書(.cer)」をダブルクリックで開きます
  • 下図のようにcerファイルには鍵がセットになっています

145.png

  • 注意:図に沿って進めると下図のようにパスワードを求められます。こちらは何も入力しないで進めます!

146.png

147.png

  • APNs用証明書(.p12)が書き出されれば、すべての作業は完了です!!!

終わりに

 証明書の作成は、少し間違えるだけで上手く行かない可能性が多くあります。この方法で証明書を作成したのに上手くいかないのだけど…という方は下記内容をもう一度確認してみてください!

  • 書類の作成順序を間違えている
    • 最初に図で説明した通り、書類には参照の関係があります。上手く参照されていない可能性があります
  • 途中で作成した書類を編集した
    • 正しく作っていると思っていて、これで失敗していたことがありましたので注意!
  • 開発用証明書が複数作成されている
    • 混在してしまうとどちらを使用しているのかわからなくなってしまい上手くいかないことがあるようです。
  • CSRファイルが複数作成されている
    • 混在してしまうとどちらを使用しているのかわからなくなってしまい上手くいかないことがあるようです。
  • AppIDを作成時に「Push Notifications」にチェックを入れ忘れている
    • 上にも書きましたが意外とあるあるです
  • 他にも可能性は…
    • 随時更新します

参考

 実際にプッシュ通知を実装したい!という方は続けて「Swiftでプッシュ通知を送ろう!」を見て取り組んでみてください!アプリに組み込むこと自体はそんなに難しくありません★☆