If the user refuses the enable push notifications, we'll get an error, through didFailToRegisterForRemoteNotificationsWithError. Does anybody know what the code in the NSError object will be in this case (to differentiate it from, say, no connection being available)?
I don't think your initial statement (always) holds true. If an app is properly signed with a valid provisioning profile, calling registerForRemoteNotificationTypes:
will result in application:didRegisterForRemoteNotificationsWithDeviceToken:
regardless of the user's Notifications choices in the Settings app. From my experience, the only times I have seen application:didFailToRegisterForRemoteNotificationsWithError:
get called was because of an improperly signed app. The error in question mentioned "no valid aps-environment entitlement found for application".
Although this question is old, and agree with most of the @Jerred's answer, i thought of posting an updated answer anyway.
The answer to main question in the thread is NO.
application:didFailToRegisterForRemoteNotificationsWithError: gets called when the app is signed with incorrect provisioning profile.
Also,
application:didRegisterForRemoteNotificationsWithDeviceToken: gets called only when user enables at-least one of the badge, banner/alert or sound setting in the notification center (in Settings app) for your app.
There are scenarios where iOS will not call either of these methods
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With