16
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

AWS SNSのiOS向けPush通知(APNs)証明書の更新手順

Posted at

更新手順なので、既に初期設定は終わっている想定。

Apple Developerでcerを発行

Apple Developer Programにログインする。
左メニューの「Certificates, Identifiers & Profiles」をクリックする。
.

右上にある「+」ボタンをクリックする。
.

Production→Apple Push service SSL (Sandbox & Production)を選択する。
.

Push通知を送りたいApp IDを選択する。
.

CSRを作れと言われるので、言われた通りにCSRファイルを作成する。
.

Mac上で「キーチェーンアクセス」アプリを起動する。
キーチェーンアクセス→証明書アシスタント→認証局に証明書を要求…
.

ユーザーのメールアドレスと通称に何か入れる。通称は英語にしておくと問題が起きにくい。
「ディスクに保存」を選択しておく。
「鍵ペア情報を指定」はチェックなし。
そして「続ける」
.

CSRが作成されました!
.

Apple Developerに戻って、先程作成したCSRファイルをアップロード。
.

すると.cerファイル作ったよ!と言われるのでダウンロードする。
.

.p12ファイルを作成

ダウンロードした.cerファイルをダブルクリックする。
すると「キーチェーンアクセス」アプリが起動して、先程CSRを作成した際に入れた「通称」の鍵と証明書がペアになっている。
.

証明書を右クリックして、右クリックメニューから「”Apple Push Services: hogefuga”を書き出す…」を選択する。
.

.p12になっているのでそのまま保存する。
ちなみにファイル名は英語にしておかないと後でエラーになる事がある。
.

保存する際にパスワードを聞かれるので、適当に設定する。
適当と言っても本当に適当に設定して忘れてしまってはいけない。
.

AWS SNSの設定の更新

AWS管理画面に入ってSimple Notification Serviceに移動する。
左メニューから「Applications」に遷移する。
.

右欄から対象となるARNをクリックする。
.

Platform application actions→Update credentialsを選択する。
.

先程生成した.p12ファイルと.p12ファイル生成時に使ったパスワードを入力する。
ここで.p12ファイルが英語でなかったり通称が英語でなかったりすると、謎エラーが出て作り直しが必要な事がある。
.

テスト

ここのsnsmobilepush.zipをダウンロードして解凍する。
AppleMobilePushApp/iOS 8/AmazonMobilePush.xcodeprojをダブルクリックして開く。
警告が出るけど開く。
.

GeneralタブのIdentity→Bundle Identifierを証明書を発行したApp IDに変更する。
スクリーンショット 2018-06-03 15.58.43.png

Signingを合わせて変更する。ここで「!」マークが出ていたらダメ。
CapabilitiesタブからPush NotificationsをONにしておく。

適当にテスト登録している端末にインストールして起動する。
するとDevice Token = <examp1e 29z6j5c4 df46f809 505189c4 c83fjcgf 7f6257e9 8542d2jt 3395kj73>みたいなログが出る。

このデバイストークンをAWS SNSに登録する。
Create platform endpoint→Manually add a single tokenで先程のデバイストークンを入力して「Add endpoint」。
.
.

その後、Filterで検索して、「Publish to endpoint」。
.

「Message format」を「JSON」にして、「JSON message generator」をクリック。
するとこんな感じの画面が出てくるので、テストっぽいメッセージを入れて「Generate JSON」。ここは日本語OK。
.

こんな感じになるので、右下から「Publish message」する。
.

するとテスト端末のテストアプリにPush通知が届く。

所感

何かもうちょっと単純だった気がしていたけど、そんな事は無かった…

16
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
16
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?