-[NSWorkSpace runningApplications]
で、現在のユーザーが実行中の Mac アプリケーションの一覧を取得できる。 そのうち、 Dock に表示されるアプリケーションの activationPolicy
は NSApplicationActivationPolicyRegular
になっている。
ListDockApps.swift
import Cocoa
let runningApps = NSWorkspace.sharedWorkspace().runningApplications as [NSRunningApplication]
let regularApps = runningApps.filter {
$0.activationPolicy == NSApplicationActivationPolicy.Regular
}
let appNames = regularApps.map { $0.localizedName! }
println(appNames)
出力
[Finder, OmniFocus, Safari, MacDown, Google Chrome, カレンダー]