取消 UNNotificationRequest

Cancel UNNotificationRequest

因为 UILocalNotification 现已弃用,我将我的代码移至新的 UNNotificationRequest API.

它指出:“cancelLocalNotification”在 iOS 10.0 中已弃用:使用 UserNotifications Framework 的 -[UNUserNotificationCenter removePendingNotificationRequestsWithIdentifiers:]

但似乎不相等 - 虽然我可以随时删除带有 cancelLocalNotification 的消息(即使它们是 displayed/delivered),但似乎 removePendingNotificationRequestsWithIdentifiers 只删除未送达的通知.真烦人。

所以我的问题是: 是否有有效的方法删除排队 UNNotificationRequest 的通知,或者我应该忽略那些弃用警告?

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

Swift 4Swift 5

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

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