Мне нужно получать уведомление, когда изменения вносятся в панель настроек системы. Из документа Google я нашел kEventSystemTimeDateChanged, и он работал в Leopard.
Событие не запускается при смене часов. Нужно уточнить, поддерживает ли Snow Leopard и Lion kEventSystemTimeDateChanged.
Фрагмент моего кода приведен ниже.
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification {
[self SystemTimeChangeHandler];
}
OSStatus DateChangeEventHandler(EventHandlerCallRef nextHandler, EventRef theEvent, void *userData)
{
NSLog(@"Event Fired!\n");
return 0;
}
- (void)SystemTimeChangeHandler
{
NSLog(@"SystemTimeChangeHandler");
EventTypeSpec eventType;
eventType.eventClass = kEventClassSystem;
eventType.eventKind = kEventSystemTimeDateChanged;
EventHandlerUPP eventHandlerUPP =
NewEventHandlerUPP(DateChangeEventHandler);
EventHandlerRef eventHandlerRef = NULL;
(void)InstallApplicationEventHandler(
eventHandlerUPP,
1,
&eventType,
self,
&eventHandlerRef);
}