在我正在处理的应用程序(iOS 11)中,要更新我们使用的徽章编号:
UIApplication.shared.applicationIconBadgeNumber = number
该应用程序使用提供的值更新徽章编号,没有任何问题。
然后......
推送通知以“徽章”键到达,应用程序使用推送通知值更新徽章编号,但是,使用 applicationIconBadgeNumber 的所有更新将不再使用。知道为什么吗?
答案 0 :(得分:0)
您需要将用户通知实施到AppDelegate
。
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
在didFinishLaunchingWithOptions
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .sound, .badge]) { (granted, error) in
if error != nil {
// Your Code
}
}
return true
}
对于徽章更新,您需要使用以下代码
let alert = UNMutableNotificationContent()
alert.badge = 10 //your badge count