我需要在启动时启动我的应用程序,但我希望它处于“最小化”状态,也就是说,它将在 dock 中打开,但其窗口不会显示。
就像 TeamViewer 一样,如果您了解这个应用程序。
我目前使用 launchctl
和我已添加到 ~Library\LaunchAgents
的 plist,在启动时确实会启动应用程序,并显示其窗口。
如何以这种隐藏/最小化的状态启动它?
我需要在启动时启动我的应用程序,但我希望它处于“最小化”状态,也就是说,它将在 dock 中打开,但其窗口不会显示。
就像 TeamViewer 一样,如果您了解这个应用程序。
我目前使用 launchctl
和我已添加到 ~Library\LaunchAgents
的 plist,在启动时确实会启动应用程序,并显示其窗口。
如何以这种隐藏/最小化的状态启动它?
在主应用程序窗口的xib中取消勾选“启动时可见”。
在您的应用程序委托类中实现- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
方法。
- (BOOL)applicationShouldHandleReopen:(NSApplication *)theApplication hasVisibleWindows:(BOOL)flag
{
if (!flag) {
[window makeKeyAndOrderFront:self];
return YES;
}
return NO;
}
最小化...我想你想要将它作为隐藏启动
请参考NSWorkspace的:
- (BOOL)launchAppWithBundleIdentifier:(NSString *)bundleIdentifier options:(NSWorkspaceLaunchOptions)options additionalEventParamDescriptor:(NSAppleEventDescriptor *)descriptor launchIdentifier:(NSNumber **)identifier
使用该方法从另一个应用程序启动应用程序,并传递选项NSWorkspaceLaunchAndHide
LSUIElement = YES
。