私は Obj-C と Cocoa の初心者です。起動時にいくつかのグローバルマウスイベントを待機し、終了すると終了する非常に単純なコマンドラインアプリを開発しようとしています。CLIアプリがすぐに終了するのを避けるためにNSRunLoopを正しく実装しましたが、マウスイベントをリッスンするイベントを把握できないようです。
私はこのスニペットを使用しています:
[NSEvent addGlobalMonitorForEventsMatchingMask:NSMouseMovedMask handler:^(NSEvent *mouseEvent) {
NSLog(@"Mouse moved: %@", NSStringFromPoint([mouseEvent locationInWindow]));
}];
私は CLI アプリです。何も起動しませんが、正しくコンパイルされますが、appDelegate クラスの applicationDidFinishLaunching メソッドで、空白の Cocoa アプリ内に貼り付けると問題なく動作します。
私は何が欠けていますか?ありがとう!
pd: 私が必要としているのが CLI であると 100% 確信できるわけではありません。また、ウィンドウ、メニュー項目、または関連するものを何も持たず、条件が満たされるまで数秒間実行されるプロセスだけの、不可視またはヘッドレス アプリケーションになることもできます。