【发布时间】:2016-07-21 13:32:37
【问题描述】:
我无法在 Swift 中找到任何关于此的内容。有没有办法以编程方式使我的应用程序最小化在后台打开的所有其他窗口,甚至只是最小化 Safari?我基本上希望我的应用程序在桌面上运行,后台没有任何混乱。有没有办法以编程方式为 Cocoa 应用程序执行此操作?我对 swift 很陌生,所以任何帮助将不胜感激。
【问题讨论】:
标签: swift cocoa window nswindow minimize
我无法在 Swift 中找到任何关于此的内容。有没有办法以编程方式使我的应用程序最小化在后台打开的所有其他窗口,甚至只是最小化 Safari?我基本上希望我的应用程序在桌面上运行,后台没有任何混乱。有没有办法以编程方式为 Cocoa 应用程序执行此操作?我对 swift 很陌生,所以任何帮助将不胜感激。
【问题讨论】:
标签: swift cocoa window nswindow minimize
您可以在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()
}
}
【讨论】: