取消UNNotificationRequest

时间:2017-08-11 12:35:00

标签: ios swift unnotificationrequest

由于我们已弃用UILocalNotification,因此我将代码移至新的UNNotificationRequest API。

它声明:' cancelLocalNotification '在iOS 10.0中已弃用:使用UserNotifications Framework' -[UNUserNotificationCenter removePendingNotificationRequestsWithIdentifiers:]

但它似乎并不相同 - 虽然我可以随时删除cancelLocalNotification的消息(即使它们被显示/传递),但removePendingNotificationRequestsWithIdentifiers似乎只删除了未传递的通知。这真的很烦人。

所以我的问题是: 是否有一种有效的方法可以删除使用UNNotificationRequest排队的通知,还是应该忽略这些弃用警告?

2 个答案:

答案 0 :(得分:3)

您还可以使用removeDeliveredNotifications(withIdentifiers:)功能从通知中心删除已发送的通知。有关详细信息,请参阅documentation

答案 1 :(得分:0)

Swift 4

如果您想删除所有 UNNotificationRequest项,可以使用:

let center = UNUserNotificationCenter.current()
center.removeAllPendingNotificationRequests()