APNS не поддерживает операции приращения для значков.каждое сгенерированное push-уведомление должно указывать текущее значение.
, поэтому нам нужно, чтобы где-то был сервис / сервер, отслеживающий, какие значки должны быть для каждого из ваших пользователей
например, добавьте один ключ badge
в свою полезную нагрузку, получите счетчик вашего значка и увеличьте счетчик, следуя примеру.
func application(_ application: UIApplication, didReceiveRemoteNotification userInfo: [AnyHashable : Any], fetchCompletionHandler completionHandler: @escaping (UIBackgroundFetchResult) -> Void) {
var currentBadgeNumber: Int = application.applicationIconBadgeNumber
currentBadgeNumber += Int(userInfo["badge"] as? String ?? "0")!
application.applicationIconBadgeNumber = currentBadgeNumber
completionHandler(UIBackgroundFetchResult.noData)
}
например полезную нагрузку, см. старый ответ в СО.
Примечание: didReceiveRemoteNotification устарело с iOS10 + и выше, см. Это для пример