UIApplication registerForRemoteNotificationTypes:不尊重缺少UIRemoteNotificationTypeBadge

时间:2013-09-27 22:36:48

标签: iphone ios push-notification apple-push-notifications

我正在调用UIApplication的registerForRemoteNotificationTypes:仅指定UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound。我指定UIRemoteNotificationTypeBadge。

我的应用服务器正在发送APNS通知有效负载,其中包含值为“1”的“徽章”密钥。

收到通知后,我的应用程序图标上标有红色圆圈“1”。

即使有效负载包含徽章信息,我的期望是因为我没有指定UIRemoteNotificationTypeBadge,iOS不会在我的应用程序图标上显示徽章。

有人可以解释预期的行为是什么吗?

感谢。

-Allan

1 个答案:

答案 0 :(得分:0)

除非您的应用已注册接收该通知,否则操作系统不应显示徽章。

来自 registerForRemoteNotificationTypes 的文档:

  

iOS不会显示或播放通知有效内容中指定的通知类型,这些通知类型不是所请求的通知类型之一。例如,如果警报消息不是接受的通知类型之一,即使在通知有效负载中指定了警报消息,iOS也不会显示警报。

     

要了解应用程序当前的通知类型,请调用 enabledRemoteNotificationTypes 方法。

您是否可以使用之前注册徽章的令牌?

您的有效负载服务器可能正在使用已注册徽章类型的令牌。