問題:アプリが通知センターに表示されず、インストールが完了してregisterForRemoteNotificationTypes:
経由でアプリがプッシュ通知に登録された直後に、プッシュ通知を受信できません。
詳細:
UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound
)とregisterForRemoteNotificationTypes
を使用してログアウトするたびに、メソッドUIRemoteNotificationTypeNone
を呼び出します。enabledRemoteNotificationTypes
は正しい値を返します。unregisterForRemoteNotifications
を使用しましたが、これが問題を引き起こしている可能性があるという疑いがあるため、これをregisterForRemoteNotificationTypes:UIRemoteNotificationTypeNone
に変更しました。ご意見やアドバイスをいただければ幸いです。ありがとうございました!
これは私のデバイスのいくつかに起こっていました。 (通知センターに表示されず、プッシュを受信しません。)
それを修正することでなんとかしました:
私たちの場合、すぐには機能しなかったので、数分待ってください。
まあ、私もこの問題を抱えています。アプリケーションが以前のインストールでアンインストールする前にunregisterForRemoteNotificationsを使用していたことがわかりました。
また、アプリケーションが再度インストールされ、リモート通知に登録するためにログインすると、この問題が発生します。
最初のインストール(iOSデバイスのリセット後にインストール)でも発生しました。ログイン前にunregisterForRemoteNotificationsを使用し、ログイン操作で登録すると、この問題が発生します。
この問題が発生したため、iOSデバイスを再起動する必要があります。
UnregisterForRemoteNotificationsの場合、この問題を止めることはできませんでしたが、問題が発生する可能性を減らすことができます。メソッドは次のとおりです。
以前のインストールでデバイストークンがプロバイダーから削除されなかった場合は、ログイン前の現在のインストールでunregisterForRemoteNotificationsを使用します。それ以外の場合は、unregisterForRemoteNotificationsを使用しないでください。
Appleのドキュメント から、ログイン/ログアウトでのアプリの登録と登録解除にそれぞれ問題がある可能性があります。
アプリケーションは、起動するたびに登録し、そのプロバイダーに現在のトークンを与える必要があります。
登録解除については不明です。彼らはプログラミングガイドで登録解除について言及していません。ユーザーがログインしているかどうかに応じて、プッシュ通知を送信したり送信しなかったりすることで、アプリが登録解除されず、サーバーが処理する必要があります。これは私が過去にこれを行った方法であり、この問題を経験したことがないので、このアプローチがあなたにも有効かもしれません。