如何禁用/取消已设置的通知?
这是我的日程安排功能。
func scheduleNotif(date: DateComponents, completion: @escaping (_ Success: Bool) -> ()) { let notif = UNMutableNotificationContent() notif.title = "Your quote for today is ready." notif.body = "Click here to open an app." let dateTrigger = UNCalendarNotificationTrigger(dateMatching: date, repeats: true) let request = UNNotificationRequest(identifier: "myNotif", content: notif, trigger: dateTrigger) UNUserNotificationCenter.current().add(request, withCompletionHandler: { error in if error != nil { print(error) completion(false) } else { completion(true) } }) }
要取消所有待处理的通知,可以使用以下方法:
UNUserNotificationCenter.current().removeAllPendingNotificationRequests()
要取消特定通知,
UNUserNotificationCenter.current().getPendingNotificationRequests { (notificationRequests) in var identifiers: [String] = [] for notification:UNNotificationRequest in notificationRequests { if notification.identifier == "identifierCancel" { identifiers.append(notification.identifier) } } UNUserNotificationCenter.current().removePendingNotificationRequests(withIdentifiers: identifiers) }