当应用程序处于前台状态时,当推送2条或更多条通知时,我们必须仅显示一个警报,其余应显示在通知中心,但在iOS 11中不应该作为横幅被警告?
我已经尝试了以下代码。
public func userNotificationCenter(_ center: UNUserNotificationCenter,
willPresent notification: UNNotification,
withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
center.getDeliveredNotifications { (notifications) in
print("number of notifications delivered so far : \(notifications.count)")
if notifications.count > 0 {
print(notification.request.content.userInfo["aps"] as Any)
// TODO: add to core data
}
else {
completionHandler(UNNotificationPresentationOptions.alert)
}
}
// Presentation type
//completionHandler(UNNotificationPresentationOptions.alert)
}
但通知未出现在通知中心。
如何知道iOS 11.0中是否存在通知?
答案 0 :(得分:0)
如果应用程序位于前台,则不会看到推送通知(在通知中心或应用程序中都不会)。您无法控制向用户显示推送通知的方式和时间(最好这样)。
如果您在应用程序中,则通知将不会保留在通知中心上(所有通知都会自动被视为已查看(或根据需要阅读)。
此外,如果您使用的是模拟器,它将无法正常工作(仅在真实设备上)。