【iOS】デバッグ時にプッシュ通知が動作しない場合の対応

【iOS】デバッグ時にプッシュ通知が動作しない場合の対応

こんにちは。エンジニアのtakanoです。

今回はアプリ開発時にプッシュ通知が動作しない場合の対処方法を紹介します。

シミュレータでプッシュ通知が動かない

シミュレータではAPNS(Apple Push Notification Service)からデバイストークンの取得がでないため、プッシュ通知は動作しません。
実機でデバッグしましょう。

実機でもプッシュ通知が動作しない

AppDelegate.cpp

(void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
}

でerrorが

 ”Errorinregistration:Error Domain=NSCocoaErrorDomain Code=3000 “Appの有効な“aps-environment”エンタイトルメント文字列が見つかりません”

となっていたらプロビジョニングファイルが正しくありません。(※この場合デバイストークンも取得できない)
プッシュ通知が許可されていない可能性があるのでプロビジョニングファイルを見直してください。

正しくプロビジョニングファイルが設定されているはずなのこのエラーが出る場合は

→ XcodeでPreference – Accountsより設定されている全てのプロビジョニングファイルを右クリックしてFinderから削除する
→ 左下にある更新ボタンをクリック。Apple Developer member centerにあるプロビジョニングが登録される。
この際、不要なプロビジョニングも登録される事もあるので後で削除する

Build Settingsでプロビジョニングファイルの設定後、実行。
先ほどのerrorが出ていなかったOKです。

TAG

  • このエントリーをはてなブックマークに追加
takano
takano takano

素晴らしいアプリを開発して世の中をもっとハッピーにしたい! ビール大好き!卓球大好き!音楽大好き! 最近は子供とおかあさんといっしょを見てるせいで「ブンバボーン」の脳内再生が止まりません。