Удаление уведомления из центра уведомлений по клику

Можно ли удалить push-уведомление из центра уведомлений при нажатии и при запуске приложения?

Большинство приложений, похоже, оставляют уведомление на месте. Я прочитал еще один вопрос:

[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0]; 

может работать, но он не работает для меня.

Приложение Facebook, безусловно, как бы отключает push-уведомления после нажатия.

Ответы

Ответ 1

int badgeCount = [UIApplication sharedApplication].applicationIconBadgeNumber;
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:0];
[[UIApplication sharedApplication] cancelAllLocalNotifications];
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:badgeCount];

Если вы добавите это в оба

- (void)applicationWillEnterForeground:(UIApplication *)application

и

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions

Вы сохраните счетчик значков и очистите уведомление о нажатии, когда оно будет нажато в центре уведомлений.