推送通知到达后无法设置徽章编号

时间:2018-03-26 16:09:40

标签: ios swift push-notification badge

在我正在处理的应用程序(iOS 11)中,要更新我们使用的徽章编号:

UIApplication.shared.applicationIconBadgeNumber = number

该应用程序使用提供的值更新徽章编号,没有任何问题。

然后......

推送通知以“徽章”键到达,应用程序使用推送通知值更新徽章编号,但是,使用 applicationIconBadgeNumber 的所有更新将不再使用。知道为什么吗?

1 个答案:

答案 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