El delegado aplicación llamará al método tras el registro exitoso de la notificación a distancia después de llamar a este método en su UIApplication:
(void)registerForRemoteNotificationTypes:(UIRemoteNotificationType)types
De acuerdo con: 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.
Ahora, para dar más detalles, normalmente una aplicación llamará al registerForRemoteNotificationTypes en su didFinishLaunchingWithOptions: (NSDictionary *) launchOptions en su delegado de la aplicación. Y por lo tanto, la aplicación : didRegisterForRemoteNotificationsWithDeviceToken se suele llamar momentos después del lanzamiento de la aplicación.
Edit: La aplicación: didRegisterForRemoteNotificationsWithDeviceToken todavía se invoca para el registro subsiguiente después de la primera.
Hemos encontrado lo que parece ser un error de iOS (a partir del v. 6), en el que el sistema operativo le indicará que el usuario se negó todas las notificaciones incluso cuando eso no es cierto. Esto ocurre solo en el primer lanzamiento: si llama a [[UIApplication sharedApplication] enabledRemoteNotificationTypes] en didRegisterForRemote ..., dice que están apagados. No lo son, y si envía una notificación automática, la aplicación la obtendrá.Y los lanzamientos posteriores devolverán el resultado correcto; el problema es que la mayoría de las aplicaciones se ejecutan en segundo plano, por lo que no sabe cuándo o si ocurre el segundo lanzamiento. – Oscar
¿Estás seguro de que se llama a didRegisterForRemoteNotifications incluso si ya te has registrado? Estoy tratando de implementar la notificación de inserción en mi aplicación, y registerForRemoteNotifications funcionó maravillosamente la primera vez, pero ahora ni las devoluciones de llamada de éxito o fracaso se están ejecutando en intentos posteriores. – Bryan
@Bryan: ¿cómo lo arreglas? – jAckOdE