2014-05-23 7 views
8

L'icona nel Dock OSX viene decisa dalla voce Info.plist CFBundleIconFile quando l'applicazione non è in esecuzione. L'applicazione può quindi modificare questa icona durante l'esecuzione. L'unica icona che non è conforme a questo è l'icona del Calendario, che mostra sempre il giorno corrente attuale, anche se l'applicazione non è in esecuzione. Come è stato realizzato? Ho controllato l'app e l'Info.plist e non c'è nulla che mi indichi il meccanismo. Calendar è gestito magicamente dal Dock?In che modo OSX mantiene l'icona del calendario nel dock aggiornata alla data corrente?

risposta

4

AppKit consente di creare plug-in di Dock Tile adottando il protocollo NSDockTilePlugIn. I plug-in di Dock Tile sono impacchettati come pacchetto all'interno di un'app principale. Sono caricati nel processo SystemUIServer e pertanto possono aggiornare l'icona del dock anche se l'app principale non è in esecuzione.
Dettagli possono essere trovati nel Dock Tile Programming Guide.

Apple fornisce un semplice esempio di Tile Dock here. Purtroppo questo esempio sembra essere un po 'instabile quando si esegue su nuove versioni di OS X.

Problemi correlati