Solution Code:
let center = UNUserNotificationCenter.current()
print(center.getPendingNotificationRequests(completionHandler: { error in
// error handling here
}))
My original post:
I am trying to get a list of pending notifications via UNUserNotificationCenter as UIApplication.shared.scheduledLocalNotifications
was depreciated.
This is the code I'm using:
let center = UNUserNotificationCenter.current()
print(UNUserNotificationCenter.getPendingNotificationRequests(center))
However this prints "(Function)". getPendingNotificationRequests requires a UNUserNotificationCenter parameter and I can't think of what else it could be.
Thanks
The getPendingNotificationRequests
call passes an array of requests to the completion closure. Try something like this:
let center = UNUserNotificationCenter.current()
center.getPendingNotificationRequests(completionHandler: { requests in
for request in requests {
print(request)
}
})
Just in case anyone needs to access notifications that are already delivered (user can see them in notification center), this can be done in the following way:
let center = UNUserNotificationCenter.current()
center.getDeliveredNotifications { notifications in
// use center.removeDeliveredNotifications(withIdentifiers:requestIdsToRemove)
// if you want to cancel some of the notifications displayed to user
}
}
it's not actually now, but you should allow to use notifications
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in
if !granted {
print("user has declined notifications")
}
}
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