1

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

但是,我的应用程序的服务器正在发送一个 APNS 通知负载,其中包含一个值为“1”的“徽章”键。

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

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

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

谢谢。

-艾伦

4

1 回答 1

0

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

来自registerForRemoteNotificationTypes的文档:

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

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

您是否可能使用先前注册中指定了徽章的令牌?

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

于 2013-09-28T00:00:14.650 回答