如果我能更好地解释我自己,知道用户是否正在运行某些特定程序,例如word或chrome等。
我将尝试在编写代码或查找更多信息时更新我的问题。
谢谢 (:
你不必经历NSTask
,你可以使用 Cocoa 的NSWorkspace
来获取正在运行的应用程序列表:
import Cocoa
let apps = NSWorkspace.sharedWorkspace().runningApplications
它返回一个NSRunningApplication
对象的数组。
假设您希望在数组中运行的应用程序名称:
let appsNames = apps.flatMap { $0.localizedName }
例如,如果您想知道iTunes是否正在运行:
if appsNames.contains("iTunes") {
// iTunes is running
}
请注意,查找正在运行的应用程序的更精确方法是使用捆绑标识符:
let bundleNames = apps.flatMap { $0.bundleIdentifier }
if bundleNames.contains("com.apple.iTunes") {
// iTunes is running
}
如果您想知道哪个应用程序处于活动状态(其窗口最前面):
let actives = apps.filter { $0.active }
if let active = actives.first {
// "active" is the frontmost app
}