Я новичок в Obj-C и Cocoa. Я пытаюсь разработать очень простое приложение командной строки, которое при запуске ожидает несколько глобальных событий мыши и завершает работу, когда все готово. Я правильно реализовал NSRunLoop, чтобы избежать немедленного завершения приложения cli, но я не могу понять, как происходит прослушивание событий мыши.
Я использую этот фрагмент:
[NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask handler:^(NSEvent *mouseEvent) {
NSLog(@"Mouse moved: %@", NSStringFromPoint([mouseEvent locationInWindow]));
}];
Я - мое приложение CLI, оно просто ничего не запускает, хотя компилируется правильно, в то время как оно работает просто отлично, если его вставить в пустое приложение Cocoa, в методе applicationDidFinishLaunching в классе appDelegate.
Что мне не хватает? Спасибо!
pd: Я не уверен на 100%, что мне нужен CLI. Я также мог бы быть невидимым или безголовым приложением, без окна, пункта меню или чего-либо связанного с этим, просто процессом, который выполняется в течение нескольких секунд, пока критерии не будут выполнены.