尽管在后台模式下有“远程通知”,但当应用程序处于后台时,该应用程序似乎没有做任何事情。我要做的就是在应用程序关闭或终止时更新徽章编号(就像 Twitter 应用程序所做的那样)。
func application( _ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable: Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
UIApplication.shared.applicationIconBadgeNumber = 99 // just to test
completionHandler(.newData)
}
当应用程序处于前台时,它会更新徽章,这是有效负载:
{
"aps": {
"badge": 4,
"content-available": 1,
"mutable-content": 0
}
}
但是当它在后台时,它什么也不做。它不应该更新徽章吗?