“getDeliveredNotificationsWithCompletionHandler”使通知托盘计数为零:iOS12.1
Posted
技术标签:
【中文标题】“getDeliveredNotificationsWithCompletionHandler”使通知托盘计数为零:iOS12.1【英文标题】:"getDeliveredNotificationsWithCompletionHandler" gives notification tray count zero : iOS12.1 【发布时间】:2018-11-28 17:43:45 【问题描述】:按照以下步骤操作
打开应用 使用锁定按钮锁定 iPad 然后从后端发送通知——设备在通知托盘中收到通知 然后使用锁定按钮解锁 iPad 该应用程序仍处于打开状态,因为我们尚未按下 Home 按钮。 现在当我们执行“getDeliveredNotificationsWithCompletionHandler”时会发出通知 托盘计数为零 - 它应该给出 1 个通知的计数 已收到。 [当我将应用程序置于后台然后将其置于前台时,它也没有给我正确的计数]
这是我的代码:
- (void)applicationDidBecomeActive:(UIApplication *)application
[UIApplication sharedApplication].applicationIconBadgeNumber = 0;
[[UNUserNotificationCenter currentNotificationCenter] getDeliveredNotificationsWithCompletionHandler:^(NSArray<UNNotification *> * _Nonnull notifications)
NSLog(@"getDeliveredNotificationsWithCompletionHandler count %lu", [notifications count]);
for (UNNotification* notification in notifications)
// do something with object
[self handlePushNotification:notification.request.content.userInfo];
if(notifications.count)
[[UNUserNotificationCenter currentNotificationCenter] removeAllDeliveredNotifications];
];
【问题讨论】:
【参考方案1】:此问题存在于服务器端的通知负载中 - 如下所示
aps =
alert =
body = "";
title = "";
;
badge = 1;
;
** 但是当我将徽章值设置为“0”时,我从 getDeliveredNotificationsWithCompletionHandler 获得了计数**
aps =
alert =
body = "";
title = "";
;
badge = 0;
;
【讨论】:
以上是关于“getDeliveredNotificationsWithCompletionHandler”使通知托盘计数为零:iOS12.1的主要内容,如果未能解决你的问题,请参考以下文章