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
}
Vielen Dank – Mage