Sto cambiando la preferenza .GlobalPreferences NSUserSubstitution tramite la classe NSUserDefaults
(tramite PyObjC, ma questo è oltre il punto).Come faccio a segnalare ad altre app Cocoa che le preferenze sono state cambiate?
Questa preferenza controlla le sostituzioni di testo presentano (per esempio che può sostituire "©" per "(c)") di OS X.
Dopo aver modificato la preferenza, lo voglio applicare immediatamente in tutte le applicazioni in esecuzione. Quando viene modificato tramite le Preferenze di Sistema, si applica immediatamente. Come dovrei segnalare ad altre app di applicarlo immediatamente?
Aggiornamento: Ecco il progetto: https://github.com/ikonst/mac-tex-substitutions
Potrebbe non esserci un modo per. 'NSUserDefaults' [utilizza una cache per-app] (http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/UserDefaults/AccessingPreferenceValues/AccessingPreferenceValues.html#//apple_ref/doc/uid/10000059i- CH3-97569) che viene aggiornato periodicamente. La tua app può richiedere la sincronizzazione immediata per se stessa, ma a meno che le altre app non si siano registrate per agire su "NSUserDefaultsDidChangeNotification", probabilmente attenderanno solo la sincronizzazione automatica. Potrei aver perso qualcosa, comunque. –
L'avrei pensato, se le Preferenze di Sistema non fossero riuscite a candidarsi immediatamente, ma gestiva ... quindi deve esserci un modo! – Ilya
Hmm, buon punto. –