2016-07-21 6 views
1

Ich konnte in Swift nichts darüber finden. Gibt es eine Möglichkeit programmgesteuert meine Anwendung so zu minimieren, dass alle anderen im Hintergrund geöffneten Fenster minimiert oder Safari minimiert wird? Ich möchte im Grunde, dass meine Anwendung gegen den Desktop läuft, ohne dass es zu Unordnung im Hintergrund kommt. Gibt es eine Möglichkeit, dies programmatisch für eine Cocoa-App zu tun? Ich bin ziemlich neu zu schnell, so würde jede Hilfe geschätzt werden.Programmatisch minimiert alle Fenster oder neben meiner Cocoa-Anwendung?

Antwort

1

Sie können API unter NSWorkspace verwenden, mit der Sie alle sichtbaren App im Hintergrund ausblenden können. Sie können mehr über NSWorkspace hier finden: link

Blendet alle Anwendungen außer dem Absender aus. Diese Methode muss im Hauptthread Ihrer App aufgerufen werden.

NSWorkspace.shared().hideOtherApplications() 

Wenn Sie nur Safari, ausblenden möchten

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() 
     } 
    } 
Verwandte Themen