NSUserNotificationCenter verwerfen Benachrichtigung

Ich versuche, das neue Mountain Lion NSUserNotificationCenter für meine Anwendung zu verwenden (was eigentlich nicht zu schwierig ist). Das Versenden von Benachrichtigungen funktioniert wie ein Zauber über

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

[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:userNotification];

Ich möchte jedoch alle Benachrichtigungen, die auf dem Bildschirm angezeigt werden, verwerfen, sobald die App den Fokus erhält. Z.B. wie die neue Nachrichten-App es tut. Wenn im Hintergrund neue Nachrichten eingehen, werden Benachrichtigungen angezeigt. Wenn die App wieder aktiv wird, werden diese automatisch geschlossen und verschwinden vom Bildschirm und vom Notification Center.

Um dies zu replizieren, habe ich eine Methode bei der registriertNSApplicationDidBecomeActiveNotification Benachrichtigung, die auch erfolgreich aufgerufen wird. Da rufe ich an[NSUserNotificationCenter defaultUserNotificationCenter] removeAllDeliveredNotifications].

Dies hat jedoch zur Folge, dass Benachrichtigungen, die im Notification Center gesammelt wurden, entfernt werden, während die entsprechenden "Blasen", die in der oberen rechten Ecke angezeigt werden, weiterhin angezeigt werden.

Das Durchlaufen aller zugestellten Benachrichtigungen und das Entfernen jeder Benachrichtigung für sich hat genau den gleichen Effekt wie usingscheduleNotification anstattdeliverNotification.

Bin ich der Einzige, der dies erlebt, oder fehlt mir etwas, um den Bildschirmteil und den Benachrichtigungscenter-Teil einer Benachrichtigung programmgesteuert zu entfernen?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage