Какой метод следует вызвать для деактивации приложения сразу после его запуска в applicationDidFinishLaunching:
методе делегата? Или, может быть, есть лучшее место, чтобы сделать это? В документации по методу deactivate
для NSApplication
сказано, что я не должен вызывать этот метод напрямую, так как AppKit лучше знает, как деактивировать вещи.
Деактивировать приложение агента после запуска в Cocoa
Ответы (2)
Возможно, сработает использование -[NSApplication hide:]
или, возможно, активируйте другое приложение с помощью -[NSRunningApplication activateWithOptions:]
(только 10.6, хотя). Однако я не предвижу особых проблем с использованием deactivate:
.
person
Dave DeLong
schedule
15.11.2009
Я думаю, что попробую с подходом NSRunningApplication. Большое спасибо!
- person Eimantas; 16.11.2009
Непонятно, чего вы пытаетесь достичь.
Вы можете использовать -hide:
для деактивации приложения. Я бы также без колебаний использовал -deactivate
, если он действительно делает то, что вам нужно. Просто обычные приложения не деактивируют себя явным образом; Я думаю, что это то, что говорит документация.
Однако, если вы установите LSUIElement
в Info.plist, ваше приложение не должно стать активным при запуске; у него также не будет строки меню или значка в доке.
person
Darren
schedule
15.11.2009
Приложение становится активным после запуска, так как я добавил глобальный монитор событий, и я получаю звуковые сигналы каждый раз, когда нажимаю глобальную клавишу, зарегистрированную в глобальном мониторе событий. Глобальные мониторы событий не направляют события в приложение, пока оно активно. Верно?
- person Eimantas; 16.11.2009