はじめに
「あれ?急にiOSアプリにPush通知が届かなくなった」、そんなことないでしょうか?
私は今週ちょうどありました。
色々調べてもらって、原因っぽいのがFirebaseに登録している証明書が期限切れになっていたこと。
「じゃあ、証明書更新するか(管理上の問題でPJで更新作業ができるのは私だけ)...」
「あれ?前どうやったっけ?Wikiに書いたけど、Wikiを読んでも記憶が...」
ってことになりました。
キャプチャ付きでWikiを書いておけばいいのですが、前回はトラブルシューティングとしてあれこれやった結果、解決した...って感じだったので、テキストで要点しか残っておらず...
今回もそうなりそうですが、ひとまずOutputすることで記憶の定着に役立てばと思い記事を書いています。
※この記事は主に自分自身の備忘録です。
※iOSはメインスキルではないので、理解が誤っている部分もあるかもしれません🙇
やったこと(テキストメモ)
- 認証局に証明書をリクエスト(使用するメールアドレスは管理者権限のアドレスを使用)
- AppleDeveloperでCertificateを作成
(開発はSandBoxの方のApple Push Serviceを選択 / リリースビルドは SandBoxなしのApple Push Serviceを選択) - CertificateをビルドするMacにダウンロードして、ダブルクリック→キーチェーンに登録
- キーチェーンからp12を書き出す
- p12をFirebaseにアップロード
これで、Pushが届くようになりました!開発環境は!...
Adhoc配信用にリリースビルドも行っている場合、本番証明書も必要です。
Certificateを使いまわさず(ここ重要みたいです)、
上記と同じ手順を実行...
証明書を更新しようとしてエラーが出たら、一度証明書を削除して、アップロードし直すと更新できました。
ちなみに、解説等はこちらのサイトが参考になりました。
他に書いておくこと
p8 形式の鍵を使うと更新の手間から解放されるみたいです。
AppleもFirebaseも今後はこちらが主流になりそう(なってる?)ですが、すでにp12で運用していると移行はちょっと怖いですね。とはいえ、進めてみたいところです。
まとめ
p8を使うようになるとこの知識が不要になる。
とはいえ、Push以外の証明書で類似の手順が必要なら結局そちらで苦労は続くのかもしれない😅