Apple推送通知不会自动更改图标徽章

zin*_*ree 13 apple-push-notifications badge ios

我已经看到我的iPhone(4S,iOS 5.1)中的邮件应用程序会在新邮件到达时自动更新徽章计数,即使应用程序未运行也是如此.所以在我的应用程序中也可以实现这种行为,对吧?

我的应用程序成功注册所有3种类型的推送通知 - 徽章,警报和声音.对于此应用程序,所有3种类型的远程通知的电话设置都设置为ON.

我的应用程序接收远程通知并显示警报,播放声音,但不会更新徽章编号.如果我通过警报上的"查看"按钮启动应用程序,那么我的应用程序可以完美地读取徽章值,我可以从代码中更改/删除/设置图标徽章.

当通知到达时,iOS无法自动更改我的应用程序的图标徽章的任何特定原因?我看过所有类似的帖子,他们都在讨论手机设置,或者关于它注册的通知类型,或关于检查有效载荷JSON是否包含徽章.

还有其他可能导致此问题的原因吗?

这是我的代码块:

每次启动应用程序时注册APN -

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeBadge |UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];
Run Code Online (Sandbox Code Playgroud)

设备令牌几乎立即收到.令牌已发送给提供商,我收到通知.警报和声音有效.但是在我启动应用程序并手动更改之前,徽章没有自动效果.请帮忙.

Jam*_*her 27

我也有同样的问题.徽章图标未引用.经过几个小时尝试调整JSON(在手机上验证应用程序后显示徽章,声音,警报) - 问题是我添加了UIRemoteNotificationTypeNewsstandContentAvailability作为我的应用程序注册的警报类型之一.(我疯了,只是挑选一切)

因此,当UIRemoteNotificationTypeNewsstandContentAvailability它也处于混合状态时,它似乎会覆盖允许aps /徽章数字更新应用程序图标的功能.(必须要更新报摊信息)

  • 谢谢!"报摊"也成了我的问题. (4认同)

zin*_*ree 21

现在问题已解决.提供程序服务器正在使用引号发送徽章编号(作为JSON字符串,即"9").奇怪的是,APNs/iOS不会将其识别为整数.现在报价被删除,它的工作原理:)