didFailToRegisterForRemoteNotificationsWithError: user refused error?

前端 未结 4 2030
梦谈多话
梦谈多话 2021-02-04 07:22

If the user refuses the enable push notifications, we\'ll get an error, through didFailToRegisterForRemoteNotificationsWithError. Does anybody know what the code in the NSError

相关标签:
4条回答
  • 2021-02-04 08:03

    For me there was 2 files that held the entitlements, here I added Aps-enviroment : production and it worked after

    0 讨论(0)
  • 2021-02-04 08:04

    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

    • When user refuses to grant permissions for app to send push notifications
    • When there is no network connectivity and user granted permissions to send push notifications.
    • When user disables the push notifications for app from notification center in Settings app.
    0 讨论(0)
  • 2021-02-04 08:06

    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".

    0 讨论(0)
  • 2021-02-04 08:10

    To my experience, didFailToRegisterForRemoteNotificationsWithError: method is reserved for more serious cases which prevents the app from even showing the notification permission request dialog to the user. The cases that I know of include the app being run on devices that do not support push notifications, (e.g. Simulator) or some misconfiguration in the aps-environment entitlement in the app binary.

    0 讨论(0)
提交回复
热议问题