2

この状況を考えてみましょう。アプリが実行され、application:didRegisterForRemoteNotificationsWithDeviceToken:は、アプリがプッシュ通知の受信を承認されているという情報を受け取ります。

ユーザーがアプリをバックグラウンドに置き、デバイスの構成で通知を受信するアプリの承認を削除します。

ユーザーがアプリを再度実行します。バックグラウンドから戻っても、アプリはまだプッシュ通知を受信する権限があると認識しています。application:didRegisterForRemoteNotificationsWithDeviceToken:application:didFailToRegisterForRemoteNotificationsWithError:も、この時点では何も受信しません。

アプリがプッシュ通知を受信する権限を持っているかどうかを特定の時点で知る方法はありますか (デバイスの通知設定から何かを読み取る)?

ありがとう。

4

1 に答える 1

5

[[UIApplication sharedApplication] enabledRemoteNotificationTypes]アプリがバックグラウンドから戻るたびに確認できます。

参照: iOS - アプリでのプッシュ通知サポートの確認

ユーザーが無効にしていることを確認したら、デバイスの構成の通知設定にプログラムでユーザーを誘導する方法はありますか?

新しい iOS バージョンではいいえ。Navigate to settings screen in iphone and iOS Launching Settings -> Restrictions URL Schemeに従って、設定-[[UIApplication sharedApplication] openURL:]画面に移動するために使用できますが、iOS バージョン 5.0 以前を実行しているデバイスでのみ使用できます。

于 2013-01-25T13:23:29.467 に答える