Because UILocalNotification
is now deprecated, I moved my code to the new UNNotificationRequest
API.
It states: 'cancelLocalNotification' was deprecated in iOS 10.0: Use UserNotifications Framework's -[UNUserNotificationCenter removePendingNotificationRequestsWithIdentifiers:]
But it seems that it is not equal - while I could remove messages with cancelLocalNotification
at any time (even they are displayed/delivered) it seems that removePendingNotificationRequestsWithIdentifiers
only removes undelivered notifications. That's really annoying.
So my question is:
Is there a valid way removing notifications queued with UNNotificationRequest
or should I just ignore those deprecation warnings?
removePendingNotificationRequests(withIdentifiers:) Removes your app's local notifications that are pending and match the specified identifiers.
Overview. Create a UNMutableNotificationContent object when you want to specify the payload for a local notification. Specifically, use this object to specify the title and message for an alert, the sound to play, or the value to assign to your app's badge.
You can also use the removeDeliveredNotifications(withIdentifiers:)
function to remove already delivered notifications from the notification center. For more info, see the documentation
Swift 4 and Swift 5
If you want to remove all UNNotificationRequest
items, you can use:
let center = UNUserNotificationCenter.current()
center.removeAllPendingNotificationRequests()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With