UNUserNotificationCenter. 本地推送

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)
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容