Swift – 更改UNnotification徽章号码

我试图听取IconBadgeNumber的更改。

在我的Appdelegate中我有:

extension AppDelegate: UNUserNotificationCenterDelegate { func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { completionHandler([.alert, .badge]) } 

}

并在我的控制器中:

 override func viewDidLoad() { super.viewDidLoad() UIApplication.shared.addObserver(self, forKeyPath: "applicationIconBadgeNumber", options: .new, context: nil) } @objc override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) { deliveredNotif = UIApplication.shared.applicationIconBadgeNumber if keyPath == "applicationIconBadgeNumber" { deliveredNotif = UIApplication.shared.applicationIconBadgeNumber } } 

但是,它似乎不起作用。 我试图听取更改,以更新应用程序内的图标(显示未读通知的数量)。

任何人都可以帮忙? 我是新来的,即使我环顾四周,似乎我无法解决这个问题。

谢谢!