我已经看到我的 iPhone(4S,iOS 5.1)中的邮件应用程序会在新邮件到达时自动更新徽章计数,即使应用程序没有运行也是如此。所以也有可能在我的应用程序中实现这种行为,对吧?
我的应用程序成功注册了所有 3 种类型的推送通知 - 徽章、警报和声音。此应用程序的所有 3 种远程通知类型都设置为“电话设置”。
我的应用程序接收远程通知并显示警报、播放声音,但它不会更新徽章编号。如果我通过警报上的查看按钮启动应用程序,那么我的应用程序可以完美地读取徽章值,并且我可以从代码中更改/删除/设置图标徽章。
通知到达时iOS无法自动更改我的应用程序图标徽章的任何具体原因?我看过所有类似的帖子,他们都在讨论电话设置,或者它注册的通知类型,或者关于检查负载 JSON 是否包含徽章。
是否有任何其他原因可能导致此问题?
这是我的代码块:
每次启动应用程序时注册 APNs -
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
设备令牌几乎立即收到。令牌已发送给提供商,我正在接收通知。警报和声音有效。但是在我启动应用程序并手动更改之前,徽章不会自动生效。请帮忙。