Sto provando a utilizzare il nuovo NSUserNotificationCenter di Mountain Lion per la mia applicazione (che in realtà non è troppo difficile). Distacco notifiche funziona come un fascino tramiteNSUserNotificationCenter notifica di annullamento
NSUserNotification *userNotification = [[NSUserNotification alloc] init];
userNotification.title = @"Some title";
userNotification.informativeText = @"Some text";
[[NSUserNotificationCenter defaultUserNotificationCenter] deliverNotification:userNotification];
Tuttavia, mi piacerebbe eliminare tutte le notifiche che si trovano sullo schermo una volta che i guadagni app si concentrano. Per esempio. come la nuova app Messaggi lo fa. Quando vengono ricevuti nuovi messaggi in background, vengono visualizzate le notifiche. Quando l'app diventa nuovamente attiva, questi vengono automaticamente ignorati e svaniscono dallo schermo e dal Centro notifiche.
Per replicare questo, ho registrato un metodo per la notifica NSApplicationDidBecomeActiveNotification
che viene anche chiamata con successo. Lì chiamo [NSUserNotificationCenter defaultUserNotificationCenter] removeAllDeliveredNotifications]
.
Questo, tuttavia, ha l'effetto che le notifiche che sono state raccolte nel Centro di notifica vengono rimosse mentre le corrispondenti "bolle" visualizzate nell'angolo in alto a destra sono ancora visualizzate.
L'iterazione di tutte le notifiche consegnate e la rimozione di ciascuna di esse ha lo stesso effetto, poiché è stato utilizzato scheduleNotification
anziché deliverNotification
.
Sono l'unico a sperimentare questo, o mi manca qualcosa per eliminare la parte sullo schermo e il Centro di notifica parte di una notifica programmaticamente?
Sembra che si dovrebbe piuttosto segnalare questo come un bug su http://bugreport.apple.com. –
Già fatto. Non che qualcuno di Apple li legge effettivamente, credo, ma solo per il completamento. Non sono sicuro se non mi manchi qualcosa qui ed è un errore dalla mia parte però. – BinaryBucks
In quale contesto si stanno utilizzando le notifiche, è necessario avere le "bolle"? –