registerForRemoteNotificationTypes no funciona iOS7 xcode 6

Tengo un problema después de actualizar nuestra aplicación para que funcione con iOS 8, donde registerForRemoteNotificationTypes no parece funcionar en el teléfono que ejecuta iOS 7, como en didRegisterForRemoteNotificationsWithDeviceToken no se llama y el cuadro de dialog "Permitir notifications push" no aparece en la aplicación. Este es el código que estoy usando

// Add registration for remote notifications if ([application respondsToSelector:@selector(registerUserNotificationSettings:)]) { NSLog(@"iOS 8 Registering for remote notification"); UIUserNotificationSettings* notificationSettings = [UIUserNotificationSettings settingsForTypes:UIUserNotificationTypeAlert | UIUserNotificationTypeBadge | UIUserNotificationTypeSound categories:nil]; [[UIApplication shanetworkingApplication] registerUserNotificationSettings:notificationSettings]; [[UIApplication shanetworkingApplication] registerForRemoteNotifications]; } else { NSLog(@"Registering for remote notification"); [[UIApplication shanetworkingApplication] registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeSound | UIRemoteNotificationTypeAlert)]; } 

Este código funciona bien para teléfonos que ejecutan iOS 8, solo iOS 7. Otra información que pudimos get para que las notifications push funcionen en un teléfono iOS 7 solo después de ejecutar la aplicación a través de xcode con el teléfono conectado. Luego implementamos el mismo código que una implementación ad hoc en otro iPhone y iPad con iOS 7 y ninguno funcionó. ¿Hay algo obvio que me falta aquí?

Prueba este código, puede funcionar para ti.

 -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { if ([application respondsToSelector:@selector(isRegistenetworkingForRemoteNotifications)]) { // iOS 8 Notifications [application registerUserNotificationSettings:[UIUserNotificationSettings settingsForTypes:(UIUserNotificationTypeSound | UIUserNotificationTypeAlert | UIUserNotificationTypeBadge) categories:nil]]; [application registerForRemoteNotifications]; } else { // iOS < 8 Notifications [application registerForRemoteNotificationTypes: (UIRemoteNotificationTypeBadge | UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)]; } return YES; } 

Noté que XCode 6 parece generar sus propios perfiles de aprovisionamiento labeldos con XC, estos también aparecen en los perfiles de aprovisionamiento de la count de desarrollador. Cuando exporta la aplicación para la versión ad hoc utiliza uno de estos perfiles y parece que no hay forma de seleccionar el perfil que creó y configuró en la configuration de compilation. Parece que estaba usando un perfil comodín que tenía la notificación push desactivada. Logré exportar nuevamente con un perfil que parecía estar basado en uno que creé con el button de encendido y comenzó a funcionar. Esto explicaría por qué logré que funcione si la cargué directamente en el teléfono desde Xcode.

Tengo el mismo problema. En mi situación, se convierte en un problema simple. Primero debe examinar su configuration de notificación. Vaya a Configuración / Centro de notifications y compruebe si se abre el tipo de notificación que estableció en su código. ¡Esperando que te pueda ayudar!

sí, el código es muy adecuado, pero para get la alerta de notificación pnetworkingeterminada en su dispositivo primero reinicie el contenido de su simulador y vuelva a instalar la aplicación recién. He intentado esto y funcionando bien en el simulador también.