在iPhone中获取推送通知时,徽章图标不会增加?

时间:2014-04-21 10:09:50

标签: ios iphone ios7 push-notification apple-push-notifications

我有一个带有Apple推送通知的应用程序,但问题是当推送到达时,徽章应用程序图标不会增加。

有谁能告诉我如何增加应用徽章?

我使用以下代码:

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

    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:[[UIApplication sharedApplication] applicationIconBadgeNumber]+ badgeValue];
}

由于

3 个答案:

答案 0 :(得分:3)

您无法在推送通知中发送++。您需要在推送通知有效负载中提供准确的徽章计数,并管理服务器端的徽章计数。

答案 1 :(得分:0)

试试这段代码:

NSInteger numberOfBadges = [UIApplication sharedApplication].applicationIconBadgeNumber
numberOfBadges +=1;

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:numberOfBadges];

答案 2 :(得分:0)

Leo对于如何做你想做的事情是正确的。

要知道的是,无论你有什么代码都没关系。如果在收到推送通知时应用程序处于打开状态,则仅激活该代码。如果应用程序未打开,则不会运行任何代码。

您可能希望研究的另一种可能性是仅数据推送,其中包含非APS元数据块中徽章所需的增量。然后,您可以在数据推送中任意指定增量,并激活代码以处理内容。但很可能你真的需要做狮子座的建议,否则你怎么知道增加徽章的数量呢?