2016-06-05 3 views

Antwort

3

Sie müssen NSTask nicht gehen, Sie Cocoa verwenden können NSWorkspace die Liste der laufenden Anwendungen zu erhalten:

import Cocoa 
let apps = NSWorkspace.sharedWorkspace().runningApplications 

Es gibt ein Array von NSRunningApplication Objekten.

Angenommen, Sie die laufenden Anwendungen Namen in einem Array wollen:

let appsNames = apps.flatMap { $0.localizedName } 

Wenn Sie zum Beispiel wissen, ob iTunes ausgeführt wird:

if appsNames.contains("iTunes") { 
    // iTunes is running 
} 

Hinweis, eine genauere Art und Weise eine laufende Anwendung zu finden wäre, die Bundle-Bezeichner zu verwenden:

let bundleNames = apps.flatMap { $0.bundleIdentifier } 
if bundleNames.contains("com.apple.iTunes") { 
    // iTunes is running 
} 

Wenn Sie möchte wissen welche App aktiv ist (hat ihr vorderstes Fenster):

let actives = apps.filter { $0.active } 
if let active = actives.first { 
    // "active" is the frontmost app 
} 
+0

Vielen Dank – Mage

Verwandte Themen