Я пытаюсь отследить работу чужой программы и, если чужая программа сворачивает в Dock, я пытаюсь восстановить ее обратно.
Попробовал следующий код для этого, но ничего не происходит :
let runningApps = NSRunningApplication.runningApplicationsWithBundleIdentifier("org.programmname")
if !runningApps.isEmpty {
runningApps.first?.unhide()
}
Ниже приведен код подтверждения состояния окна:
let options = CGWindowListOption(arrayLiteral: CGWindowListOption.OptionAll)
let windowListInfo = CGWindowListCopyWindowInfo(options, CGWindowID(0))
let infoList = windowListInfo as NSArray? as? [[String: AnyObject]]
for window in infoList!{
if window?.lowercaseString.rangeOfString("AppWindowName") != nil {
if window ["kCGWindowIsOnscreen"] == nil {
// the window is minimized
let runningApps = NSRunningApplication.runningApplicationsWithBundleIdentifier("org.programmname")
if !runningApps.isEmpty {
runningApps.first?.unhide()
}
} else {
//the window is visible
}
}