When is didRegisterForRemoteNotificationsWithDeviceToken called? When is didRegisterForRemoteNotificationsWithDeviceToken called? ios ios

When is didRegisterForRemoteNotificationsWithDeviceToken called?


The application delegate will call the method upon successful registration of remote notification after you call this method in your UIApplication:

(void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types

According to: http://developer.apple.com/library/ios/#DOCUMENTATION/UIKit/Reference/UIApplication_Class/Reference/Reference.html

When you send this message, the device initiates the registration process with Apple Push Service. If it succeeds, the application delegate receives a device token in the application:didRegisterForRemoteNotificationsWithDeviceToken: method; if registration doesn’t succeed, the delegate is informed via the application:didFailToRegisterForRemoteNotificationsWithError: method. If the application delegate receives a device token, it should connect with its provider and pass it the token.

Now, to elaborate further, normally an app will call the registerForRemoteNotificationTypes in your didFinishLaunchingWithOptions:(NSDictionary *)launchOptions in your application delegate. And therefore, the application:didRegisterForRemoteNotificationsWithDeviceToken is then usually called moments after the launch of the application.

Edit: The application:didRegisterForRemoteNotificationsWithDeviceToken still gets called for subsequents registration after the first.


When the app is first run it will ask the user whether they will allow remote notifications. If they say yes then it will fire didRegisterForRemoteNotificationsWithDeviceToken at that time and every time after it will fire this function when the app is first opened. If they say no then it will not be fired unless they went into settings and allowed notifications on the app.


There can be many reasons, check some reasons

  • If you run the app in the simulator, theapplication:didFailToRegisterForRemoteNotificationsWithError: methodwill be called as push notifications are not supported in thesimulator.

  • Check your deice internet connection if not connect it.

For more info check Link