NSUserNotificationCenter odrzuć powiadomienie

Próbuję użyć nowego Mountain Lion NSUserNotificationCenter dla mojej aplikacji (co nie jest zbyt trudne). Publikowanie powiadomień działa jak urok za pośrednictwem

NSUserNotification *userNotification = [[NSUserNotification alloc] init];
userNotification.title = @"Some title";
userNotification.informativeText = @"Some text";

[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:userNotification];

Jednak chciałbym odrzucić wszystkie powiadomienia, które są na ekranie, gdy aplikacja nabiera ostrości. Na przykład. tak jak robi to nowa aplikacja Wiadomości. Po otrzymaniu nowych wiadomości w tle wyświetlane są powiadomienia. Gdy aplikacja stanie się ponownie aktywna, zostaną one automatycznie odrzucone i znikną z ekranu oraz z Centrum powiadomień.

Aby to powtórzyć, zarejestrowałem metodę doNSApplicationDidBecomeActiveNotification powiadomienie, które również zostanie pomyślnie wywołane. Tam dzwonię[NSUserNotificationCenter defaultUserNotificationCenter] removeAllDeliveredNotifications].

Powoduje to jednak, że powiadomienia zebrane w Centrum powiadomień są usuwane, podczas gdy odpowiednie „bąbelki” wyświetlane w prawym górnym rogu są nadal wyświetlane.

Iterowanie wszystkich dostarczonych powiadomień i usuwanie ich osobno ma dokładnie taki sam efekt, jak przy użyciuscheduleNotification zamiastdeliverNotification.

Czy jestem jedyną osobą, która tego doświadcza, czy też brakuje mi czegoś, aby programowo odrzucić część ekranową i część powiadomienia Centrum powiadomień?

questionAnswers(3)

yourAnswerToTheQuestion