Cocoa 使用NSWorkspace启动应用程序而不激活它,也不切换空间
我尝试在后台启动一个应用程序,但不激活它。我在Cocoa 使用NSWorkspace启动应用程序而不激活它,也不切换空间,cocoa,macos,background,nsworkspace,Cocoa,Macos,Background,Nsworkspace,我尝试在后台启动一个应用程序,但不激活它。我在NSWorkspace上使用此方法在后台启动它: [[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:bundleID options:(NSWorkspaceLaunchWithoutActivation | NSWorkspaceLau
NSWorkspace
上使用此方法在后台启动它:
[[NSWorkspace sharedWorkspace] launchAppWithBundleIdentifier:bundleID
options:(NSWorkspaceLaunchWithoutActivation |
NSWorkspaceLaunchAllowingClassicStartup)
additionalEventParamDescriptor:nil launchIdentifier:NULL];
唯一的问题是,它不会激活应用程序,但会将空间切换到该应用程序的指定空间。有什么办法避免这种情况吗?您对正在启动的应用程序有控制权吗?如果是,请覆盖其窗口的。您可能希望通过命令行参数或类似方法使其可控,因此当用户手动启动应用程序时,仍然会遵守空格设置
如果您正在启动的应用程序不在您的控制之下,那么将分配更改回原始值如何?否,我无法控制我启动的应用程序。使用AppleScript将不起作用,因为在午餐过程中,空间的切换只会短暂附加。由于AppleScript只能在应用程序启动时更改空间,因此它无法工作。。。