在 iOS 13 之前,当推送通知到达方法 application :didReceiveRemoteNotification:fetchCompletionHandler
时,我会增加应用程序角标(Badge)编号:
func application(_ application: UIApplication,
didReceiveRemoteNotification userInfo: [AnyHashable : Any],
fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
if application.applicationState == .background {
UIApplication.shared.applicationIconBadgeNumber += 1
}
completionHandler(.newData)
}
然后我每次打开应用程序时都会清理角标(Badge)编号:
func applicationDidBecomeActive(_ application: UIApplication) {
UIApplication.shared.applicationIconBadgeNumber = 0
}
问题在于 latest changes in iOS 13仅当推送通知的属性 apns-priority
设置为至少 5 时,才会调用方法 application :didReceiveRemoteNotification:fetchCompletionHandler
。我们正在使用第三方推送通知服务不发送具有该属性的推送通知。
所以我的问题是:
是否有其他方法可以在收到推送通知时自动增加应用角标(Badge)编号?
谢谢
最佳答案
您不需要唤醒应用程序并执行此操作,这将由系统决定是否唤醒您的应用程序。最好让系统处理它,并在通知中包含角标(Badge)编号。
关于ios - 如何在 iOS13 中收到推送通知时自动增加通知角标(Badge)编号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58860105/