static void registerForDriverLoadedNotification()
{
// Snipped code that works and is not related to issue
}
static void registerForApplicationChangedNotification()
{
NSLog(@"registerForApplicationChangedNotification!");
NSNotificationCenter* center = [NSNotificationCenter defaultCenter];
[center addObserverForName: nil object: nil queue: nil
usingBlock: ^(NSNotification* notification) {
NSLog(@"NOTIFICATION %@ -> %@", notification.name,
notification.userInfo);
}];
}
int main (int argc, const char* argv[]) {
registerForDriverLoadedNotification();
registerForApplicationChangedNotification();
CFRunLoopRun();
return 0;
}
Приведенный выше код предназначен для процесса демона, он ожидает подключения USB-устройств, а затем загружает конфигурацию. Я хотел бы расширить эту функциональность, чтобы также обнаруживать, когда приложения запущены, и если присутствует конкретная конфигурация приложения, загрузите ее.Приложение Изменено Уведомления в CFRunLoop Daemon
Однако, похоже, я не получаю никаких уведомлений, кроме NSUserDefaultsDidChangeNotification
.
Код выше в registerForApplicationChangedNotification
первоначально мониторинга как NSWorkspaceDidActivateApplicationNotification
и NSWorkspaceDidDeactivateApplicationNotification
, но я изменил его на улов-все, чтобы я мог видеть то, что другие уведомления были опубликованы.
Независимо от того, что происходит, только уведомление NSUserDefaultsDidChangeNotification
кажется полученным ... что не так с этим довольно простым кодом?