6

사과 푸시 알림에이 코딩을 사용하고 있지만 푸시 알림이 오지는 않지만 배지가 없으며이 코드의 잘못된 제안, 배지를받지 못하고 있습니다. 이미 설정 탭을 확인하고 거기에 배지가 있습니다.푸시 알림 배지가 나타나지 않습니다.

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

당신이'badgeValue'가 제대로 설정되어 확인 해봤이

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

배지 값에는 큰 따옴표가없는 있는지 확인하는 데 도움이 희망? –

+0

서버 측 코드는 어떻게됩니까? – iamsult

+0

내 서버에 문제가 있습니다. 배지 값을 암시 적으로 정수로 설정해야합니다. –

답변

7

원하는 배지 값을 암시 적으로 원하는 결과를 얻기 위해 설정해야한다는 것을 알았 기 때문에 서버 측 코딩에 문제가있었습니다.

저는 배지 값에 null 값을 가져 왔습니다. 내가 전에이 문제를 직면