If the user rejects your request for notifications, then didFailToRegisterForRemoteNotificationsWithError:it is not called because the registration did not work - he did not even try.
If the user changes the permissions in the settings application, you will receive a call didRegisterForRemoteNotificationsWithDeviceToken:either the next time you start the application, or when your application returns to the foreground, if it is in the background.
, - , didRegisterUserNotificationSettings:, , , , didRegisterForRemoteNotificationsWithDeviceToken: