在Cocoa中启动后停用代理应用程序

在Cocoa中启动后停用代理应用程序,cocoa,nsapplication,Cocoa,Nsapplication,在applicationdFinishLaunching:delegate方法被调用后,应该调用什么方法来立即停用应用程序?或者也许有更好的地方可以这样做?NSApplication的deactivate方法的文档中说,我不应该直接调用此方法,因为AppKit更了解如何停用内容。不清楚您想要实现什么 您可以使用-hide:停用您的应用程序。如果它真的能满足您的需要,我也会毫不犹豫地使用-deactivate。只是普通的应用程序没有显式地停用它们自己;我想这就是文件所说的 但是,如果在Info.p

applicationdFinishLaunching:
delegate方法被调用后,应该调用什么方法来立即停用应用程序?或者也许有更好的地方可以这样做?
NSApplication
deactivate
方法的文档中说,我不应该直接调用此方法,因为AppKit更了解如何停用内容。

不清楚您想要实现什么

您可以使用
-hide:
停用您的应用程序。如果它真的能满足您的需要,我也会毫不犹豫地使用
-deactivate
。只是普通的应用程序没有显式地停用它们自己;我想这就是文件所说的


但是,如果在Info.plist中设置了
LSUIElement
,则应用程序在启动时不应处于活动状态;它也不会有菜单栏或停靠图标。

可能使用
-[NSApplication hide:][/code>会起作用,或者可能使用
-[NSRunningApplication activateWithOptions:][/code>(仅限10.6,tho)激活另一个应用程序。然而,我没有预见到使用
停用:

应用程序在启动后会激活很多问题,因为我添加了全局事件监视器,每次按下全局事件监视器中注册的全局键时都会收到嘟嘟声。全局事件监视器不会在应用处于活动状态时将事件路由到应用。对吗?我想我会尝试使用NSRunningApplication方法。非常感谢!