以编程方式最小化所有 windows 或 Cocoa 应用程序?
Programmatically minimize all windows or besides my Cocoa application?
我在 Swift 中找不到任何相关信息。有没有办法以编程方式使我的应用程序最小化后台打开的所有其他 windows,或者甚至只是最小化 Safari?我基本上希望我的应用程序在桌面上 运行,后台没有任何混乱。有没有办法以编程方式为 Cocoa 应用执行此操作?我是 swift 的新手,如有任何帮助,我们将不胜感激。
您可以在 NSWorkspace
上使用 api,这样您就可以在后台隐藏所有可见的应用程序。
您可以在此处找到有关 NSWorkspace
的更多信息:link
隐藏除发件人以外的所有应用程序。此方法必须从您应用的主线程调用。
NSWorkspace.shared().hideOtherApplications()
如果您只想隐藏 Safari,
let appPath = NSWorkspace.shared().fullPath(forApplication: "Safari")
let identifier = Bundle.init(path: appPath!)?.bundleIdentifier
if let bundleID = identifier {
let runningApps = NSRunningApplication.runningApplications(withBundleIdentifier:bundleID )
if !runningApps.isEmpty {
runningApps.first?.hide()
}
}
我在 Swift 中找不到任何相关信息。有没有办法以编程方式使我的应用程序最小化后台打开的所有其他 windows,或者甚至只是最小化 Safari?我基本上希望我的应用程序在桌面上 运行,后台没有任何混乱。有没有办法以编程方式为 Cocoa 应用执行此操作?我是 swift 的新手,如有任何帮助,我们将不胜感激。
您可以在 NSWorkspace
上使用 api,这样您就可以在后台隐藏所有可见的应用程序。
您可以在此处找到有关 NSWorkspace
的更多信息:link
隐藏除发件人以外的所有应用程序。此方法必须从您应用的主线程调用。
NSWorkspace.shared().hideOtherApplications()
如果您只想隐藏 Safari,
let appPath = NSWorkspace.shared().fullPath(forApplication: "Safari")
let identifier = Bundle.init(path: appPath!)?.bundleIdentifier
if let bundleID = identifier {
let runningApps = NSRunningApplication.runningApplications(withBundleIdentifier:bundleID )
if !runningApps.isEmpty {
runningApps.first?.hide()
}
}