2015-01-21 5 views
0

iOS8에서는 제대로 작동하지만 푸시가 수신 되더라도 iOS7에서는 배지 개수가 업데이트되지 않습니다.푸시 알림에서 iOS7 애플리케이션의 배지 개수를 업데이트하는 데 문제가 있습니다. 푸시 알림에서 iOS7 애플리케이션의 배지 개수를 업데이트하는 데 문제가 있습니다.

다음과 같이 내가 사용 테스트 페이로드가 : 무엇을 {"aps":{"alert":"Test","badge":1,"sound":"default"}}

어떤 아이디어에 갈 수 있을까?

앱 내에서 수동으로 배지 수를 설정하면 올바르게 적용되지만 푸시 횟수는 무시됩니다.

+0

(1) 또는 @ "증가"를 @로 1을 변경해보십시오 :

당신이 사전에 구문 분석 페이로드 데이터를 가지고 코드를 아래와 같이 결과 사전이 될 것이라고 가정 –

답변

1

int 또는 NSInteger으로 값을 식별 할 수 없어 배지 개수가 업데이트되지 않습니다.

일부 사람이 정수가 아닌 값을 전달하려고하면 배지가 업데이트되지 않습니다. 어떤 경우에도 경고 나 충돌이 표시되지 않지만 배지 가치에 필요한 유형을 식별 할 수 없으면 사라집니다.

푸시 알림을보고 유료로드가 필요한 유형의 관점에서 볼 수없는 값일 수 있습니다. 즉, string 또는 boolean 일 수 있으며 배지 필수 유형과 호환되지 않습니다.

배지 개수를 업데이트하기 전에 수행 할 수있는 작업은 int입니다.

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 

    // Assuming payload data is parse and result in a dictionary like below: 

    NSDictionary *payloadData = @{ @"alert": @"Test", @"badge": @1, @"sound":@"default" }; 

    NSString *badgeString = [payloadData objectForKey:@"badge"]; 
    NSInteger badgeValue = [badgeString integerValue]; 

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:badgeValue]; 
} 
관련 문제