由于我们已弃用UILocalNotification
,因此我将代码移至新的UNNotificationRequest
API。
它声明:' cancelLocalNotification '在iOS 10.0中已弃用:使用UserNotifications Framework' -[UNUserNotificationCenter removePendingNotificationRequestsWithIdentifiers:]
但它似乎并不相同 - 虽然我可以随时删除cancelLocalNotification
的消息(即使它们被显示/传递),但removePendingNotificationRequestsWithIdentifiers
似乎只删除了未传递的通知。这真的很烦人。
所以我的问题是:
是否有一种有效的方法可以删除使用UNNotificationRequest
排队的通知,还是应该忽略这些弃用警告?
答案 0 :(得分:3)
您还可以使用removeDeliveredNotifications(withIdentifiers:)
功能从通知中心删除已发送的通知。有关详细信息,请参阅documentation
答案 1 :(得分:0)
Swift 4
如果您想删除所有 UNNotificationRequest
项,可以使用:
let center = UNUserNotificationCenter.current()
center.removeAllPendingNotificationRequests()