我正在调用UIApplication的registerForRemoteNotificationTypes:仅指定UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound。我不指定UIRemoteNotificationTypeBadge。
我的应用服务器正在发送APNS通知有效负载,其中包含值为“1”的“徽章”密钥。
收到通知后,我的应用程序图标上标有红色圆圈“1”。
即使有效负载包含徽章信息,我的期望是因为我没有指定UIRemoteNotificationTypeBadge,iOS不会在我的应用程序图标上显示徽章。
有人可以解释预期的行为是什么吗?
感谢。
-Allan
答案 0 :(得分:0)
除非您的应用已注册接收该通知,否则操作系统不应显示徽章。
来自 registerForRemoteNotificationTypes 的文档:
iOS不会显示或播放通知有效内容中指定的通知类型,这些通知类型不是所请求的通知类型之一。例如,如果警报消息不是接受的通知类型之一,即使在通知有效负载中指定了警报消息,iOS也不会显示警报。
要了解应用程序当前的通知类型,请调用 enabledRemoteNotificationTypes 方法。
您是否可以使用之前注册徽章的令牌?
您的有效负载服务器可能正在使用已注册徽章类型的令牌。