6

Estoy utilizando esta codificación para la notificación de inserción de apple, las notificaciones de inserción están llegando pero vienen sin ninguna insignia, cualquier sugerencia de qué es lo que está mal con este código, que no estoy recibiendo insignias. Ya revisé la pestaña de configuración y las insignias están ahí.Insignias de notificación de inserción no vienen

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {  

[[UIApplication sharedApplication] 
    registerForRemoteNotificationTypes: 
    (UIRemoteNotificationTypeAlert | 
     UIRemoteNotificationTypeBadge | 
     UIRemoteNotificationTypeSound)]; 

[UIApplication sharedApplication].applicationIconBadgeNumber = 0; 

} 

- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken1 { 

    NSString *str = [NSString 
        stringWithFormat:@"%@",deviceToken1]; 
    NSLog(@"%@",str); 

    self.deviceToken = [NSString stringWithFormat:@"%@",str]; 
    NSLog(@"dev --- %@",self.deviceToken); 
    self.deviceToken = [self.deviceToken stringByReplacingOccurrencesOfString:@"<" withString:@""]; 
    self.deviceToken = [self.deviceToken stringByReplacingOccurrencesOfString:@" " withString:@""]; 
    self.deviceToken = [self.deviceToken stringByReplacingOccurrencesOfString:@">" withString:@""]; 
    NSLog(@"dev --- %@",self.deviceToken); 


} 

- (void)application:(UIApplication *)app didFailToRegisterForRemoteNotificationsWithError:(NSError *)err { 

    NSString *str = [NSString stringWithFormat: @"Error: %@", err]; 
    NSLog(@"%@",str);  

} 

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    NSLog(@"Received notification: %@", userInfo); 
    //[self addMessageFromRemoteNotification:userInfo]; 

    NSString* alertValue = [[userInfo valueForKey:@"aps"] valueForKey:@"badge"]; 
    NSLog(@"my message-- %@",alertValue); 
    int badgeValue= [alertValue intValue]; 

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:badgeValue]; 


} 
+1

Ha intentado comprobar 'badgeValue' está configurado correctamente? –

+0

¿Qué pasa con el código del lado del servidor ?. – iamsult

+0

hubo un problema con mi servidor, solo descubrí que el valor de la insignia debe establecerse implícitamente como entero. –

Respuesta

7

que había un problema con mi codificación del lado del servidor como acabo de descubrir que el valor escarapela tiene que ser establecido implícitamente como número entero para conseguir el resultado deseado.

Como obtengo un valor nulo en el valor de la insignia.

1

me he enfrentado a este problema antes, espero que esto ayuda a

{"aps":{"alert":"dsfdsfsdfsdfsdfdfdfsdfsdf","badge":1,"sound":"a"}} 

asegúrese de que no hay ningún signo de comillas dobles en valor insignia

Cuestiones relacionadas