IOS是否会增加推送通知徽章编号?

时间:2015-07-21 12:25:56

标签: ios push-notification badge

我需要编写一个可以在图标上显示徽章编号的应用程序。

我可以收到推送通知,徽章编号也显示为5。

但是,当应用程序尚未启动时收到第二个推送通知时,徽章仍会显示5。

不应该是10?

4 个答案:

答案 0 :(得分:6)

iOS不会将您发送到应用的徽章编号相加。它只显示从您的服务器发送的最新徽章编号。如果您要显示徽章编号,则服务器应发送徽章编号为10的推送通知。

答案 1 :(得分:2)

答案 2 :(得分:1)

您可以使用附加到推送通知的aps字典来控制徽章编号。 您可以使用badge密钥来设置正确的计数 - 但是计算推送通知的数量必须在服务器端完成 - iOS不会自动执行此操作。

Checkout the APS reference table 9-1 here

要重置徽章计数,您应该使用UIApplication方法。

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]

根据应用程序逻辑,您需要将其放在不同的位置,但最常见的用法是在应用程序变为活动状态时执行此操作。

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    [[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]
}

答案 3 :(得分:0)

您需要从服务器发送更新的badgeNumber。然后会显示更新的号码。 iOS不进行求和,只显示数字。