37
38

More than 5 years have passed since last update.

[初心者向け] プッシュ通知が送れないときに確認すること

Last updated at Posted at 2015-09-18

iOSでPush通知を実装するために、すこぶるハマったので忘れないように書いておこうと思います。
書いてる内容はやり方というか、ちょっとニュアンスは違います。

証明書は2種類必要

証明書は、

開発用

  • プッシュ通知用の証明書(APNs Development iOS)
  • プロビジョニングファイル用の証明書(iOS Development)

本番用

  • プッシュ通知用の証明書(APNs Production iOS)
  • プロビジョニングファイル用の証明書(iOS Distribution)

それぞれで2種類ずつ必要です。

プロビジョニングファイル作成時に証明書を選択する画面がありますが、ここにはプッシュ通知用の証明書は表示されませんのでご注意ください。ここではプロビジョニングファイル用の証明書を選択するのでOKです。
screenshot.jpg

サーバにはプッシュ通知用の証明書から作成したpemファイルをアップする

サーバにアップするpemファイルはプッシュ通知用の証明書から作成したものが必要です。プロビジョニングファイル用の証明書から作成したpemファイルをアップしないように気をつけてください。

pemファイルは下記ツール使えば簡単に作れます。
コマンドたたくの面倒な人は試してみてください。(Mac用)
https://itunes.apple.com/jp/app/pempem/id876280659?mt=12

ビルドする時にDebug・Adhoc・Releaseのどれでビルドしたか確認する

Debug、Adhoc・Releaseで送られてくるデバイストークンの種類が違います。

Debug

  • APNs -> SANDBOX
  • デバイストークン -> 開発用トークン

Adhoc・Release

  • APNs -> PRODUCTION
  • デバイストークン -> 本番用トークン

どれでビルドするかはメニューのProduct -> Scheme -> Edit Schemeの、
Run -> Info -> Build Configurationで選択できます。

wifi環境ではPush通知が送られてこない

wifi環境ではPush通知が送られてこないことがありました。
なぜPush通知送られてこないのか原因がさっぱりわかりません。

おわりに

慣れてしまえばどうということはない、というようなことに数時間もハマってしまいました。
同じ問題にぶつかっている方のお役に立てれば幸いです。
http://qiita.com/0x0c@github/items/811fb70d0d2523968e50

37
38
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
37
38