2012-07-12 56 views
1

Guyz帮我理解徽章计数管理。我已经阅读过苹果指南,但并不完全了解谁负责图标管理? 如果我的应用程序没有前景我得到一个警报(及图标“1”),如果我点击查看我的应用程序启动和我减少badgeCount:App图标上的远程通知徽章问题

[UIApplication sharedApplication].applicationIconBadgeNumber = [UIApplication sharedApplication].applicationIconBadgeNumber - 1; 

这是确定一个单一的通知符。但是我应该在哪里增加我的徽章数量?例如,如果我收到2或3个通知,我仍然在应用程序图标上显示“1”。或者iOS应该增加自己的计数?

编辑: 我已经发现,服务器应该发送正确的号码例如:

{ 
"aps" : { 
    "badge" : 9 
} 

}

但服务器是如何知道正确的号码例如如果我已经“读“一些新闻和现在的数字不是”9“而是”7“?我需要将这些信息传递给服务器? 请解释我是如何工作的!提前致谢!

+0

当您的应用程序处于背景时,iOS正在处理应用程序图标上的徽章,并将其设置为通知有效内容中找到的数字。 iOS不会计算通知。 当应用程序正在运行时,它负责徽章更新。在你的情况下,我需要告诉服务器在那里下面的弓号码已被读取和服务器将更新徽章号码 – 2012-07-12 13:14:42

回答

2

当你的应用程序是在后台(暂停)或不运行在所有的iOS则是处理上的应用程序图标徽章,它被设置为在通知有效载荷中发现的数量。 iOS不会计算通知。

当应用程序正在运行时,它负责徽章更新。在你的情况下,我认为它应该像邮件应用程序一样工作,所以应用程序应该告诉服务器用户已经读了一些东西,所以服务器知道有多少新闻还没有被读取,所以服务器可以发送适当的徽章号码,一旦应用程序在后台,新消息。

Scheduling, Registering, and Handling Notifications

+0

非常感谢......我也这么认为......但..你确定??))任何链接? – Stas 2012-07-12 13:00:23

+0

添加到Apple文档的链接。整个本地和推送通知编程指南值得一读。他们没有提及徽章计数,具体来说它解释了如何设置徽章以及您应该在何处以及如何处理通知。 – Michal 2012-07-12 13:11:46