【发布时间】:2012-07-03 19:19:37
【问题描述】:
我已经看到我的 iPhone(4S,iOS 5.1)中的邮件应用程序会在新邮件到达时自动更新徽章计数,即使应用程序没有运行也是如此。所以也可以在我的应用中实现这种行为,对吧?
我的应用程序成功注册了所有 3 种类型的推送通知 - 徽章、警报和声音。 此应用程序的所有 3 种远程通知类型都设置为“电话设置”。
我的应用接收远程通知并显示警报、播放声音,但它不更新徽章编号。 如果我通过警报上的查看按钮启动应用程序,那么我的应用程序可以完美地读取徽章值,并且我可以从代码中更改/删除/设置图标徽章。
当通知到达时,iOS 无法自动更改我的应用程序的图标徽章的任何具体原因?我看过所有类似的帖子,他们都在讨论手机设置,或者它注册的通知类型,或者关于检查负载 JSON 是否包含徽章。
还有其他可能导致此问题的原因吗?
这是我的代码块:
每次启动应用时注册 APN -
[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
几乎立即收到设备令牌。 令牌已发送给提供商,我正在接收通知。警报和声音有效。但是在我启动应用程序并手动更改之前,徽章不会自动生效。请帮忙。
【问题讨论】:
-
发送通知时您的徽章是否设置为 +1?还是只有 1 个?
-
出于好奇,您将推送通知用于什么目的?
-
将其设置为
+1或您需要添加的任何通知。 -
实际上它看起来可能只适用于urbanairship。其他帖子说您需要跟踪通知服务器端或将计数发送到服务器。
-
@mkral,我会尝试,但苹果不建议使用 +1 developer.apple.com/library/ios/#DOCUMENTATION/…
标签: ios apple-push-notifications badge