5

因为UILocalNotification现在已弃用,所以我将代码移至新的UNNotificationRequestAPI。

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

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

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

4

2 回答 2

6

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

于 2017-08-11T12:50:44.620 回答
4

斯威夫特 4斯威夫特 5

如果要删除所有 UNNotificationRequest项目,可以使用:

let center = UNUserNotificationCenter.current()
center.removeAllPendingNotificationRequests()
于 2018-04-19T05:14:57.943 回答