0

Хорошо, что немного застряло на том, как это работает.didReceiveRemoteNotification и номер значка

Сначала я покажу вам код.

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    NSString *badge = [apsInfo objectForKey:@"badge"]; 
    NSLog(@"Received Push Badge: %@", badge); 
    application.applicationIconBadgeNumber = [[apsInfo objectForKey:@"badge"] integerValue]; 
} 

Извините за обилие беспорядка, кнопка «Код» не работала.

Теперь мой push-шлюз предоставляет номер каждый раз для того, сколько сообщений отправляется и т. Д., Но если есть предыдущие предупреждения, как бы получить этот код, просто добавив +1 в список, а не просто установив новый номер

ответ

1

Вы должны попробовать это:

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo { 
    NSString *badge = [apsInfo objectForKey:@"badge"]; 
    NSLog(@"Received Push Badge: %@", badge); 
    int currentBadgeNumber = application.applicationIconBadgeNumber; 
    currentBadgeNumber += [[apsInfo objectForKey:@"badge"] integerValue]; 
    application.applicationIconBadgeNumber = currentBadgeNumber; 
} 
1

APNS не поддерживает операции инкремента для значков; каждое генерируемое push-уведомление должно устанавливать, каково должно быть текущее значение. (В основном из-за того, что устройства не получают точные уведомления)

Таким образом, вам нужно иметь сервис/сервер где-то отслеживать, какие значки должны быть для каждого из ваших пользователей, К сожалению.

Смежные вопросы