6

Sto utilizzando questa codifica per la notifica push Apple, le notifiche push sono in arrivo ma vengono fornite senza badge, qualsiasi suggerimento su cosa non funzioni con questo codice, che non ottengo badge. Ho già controllato la scheda delle impostazioni e i badge sono lì.Non vengono visualizzati badge di notifica push

- (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

Hai provato il controllo 'badgeValue' è impostata correttamente? –

+0

E il tuo codice di accesso al server ?. – iamsult

+0

c'è stato un problema con il mio server, ho appena scoperto che il valore del badge deve essere implicitamente impostato come numero intero. –

risposta

7

C'è stato un problema con il mio codice lato server come ho appena scoprire che il valore distintivo deve essere implicitamente impostato come numero intero per ottenere il risultato desiderato.

Mentre ottengo il valore nullo nel valore del badge.

1

Ho affrontato questo problema prima, spero che questo aiuta

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

assicurarsi che non v'è alcun segno di virgolette doppie sul valore distintivo

Problemi correlati