1.獲取權(quán)限
UNUserNotificationCenter.current().requestAuthorization(options: [.alert,.badge ,.sound]) { (b:Bool, error:Error?) in
}
.alert: 彈窗
.badge: 角標
.sound: 通知音效
第一次會有系統(tǒng)授權(quán)彈出
2.授權(quán)狀態(tài)
let current = UNUserNotificationCenter.current()
current.getNotificationSettings { (settings:UNNotificationSettings) in
}
3.創(chuàng)建
let notificationContent:UNMutableNotificationContent = UNMutableNotificationContent()
notificationContent.sound = UNNotificationSound.default
notificationContent.title = "It's time to take care of your mind.".localized+"??"
notificationContent.userInfo = ["type":"mindful"]
notificationContent.badge = -1
let trigger = UNCalendarNotificationTrigger(dateMatching: components, repeats: false)
let identifier = "mindful_localNoti_\(index)"
let request = UNNotificationRequest(identifier: identifier, content: notificationContent, trigger: trigger)
UNUserNotificationCenter.current().add(request, withCompletionHandler: nil)
userinfo: 額外帶的參數(shù), 拿到通知可以處理
badge: >0 設(shè)置數(shù)字 =0 維持原來的數(shù)字。<0 隱藏
設(shè)置identifier 方便刪除特定的推送
4.刪除
UNUserNotificationCenter.current().removePendingNotificationRequests(withIdentifiers: ids)