OSX内置强制退出应用程序如何获取其应用列表?

时间:2015-10-05 08:53:13

标签: macos swift cocoa nsworkspace

我正在尝试使用具有窗口界面的所有正在运行的应用程序,并且我发现强制退出应用程序实用程序中的应用程序列表非常理想。

enter image description here

但是我不知道如何实现它,尝试了NSWorkSpace,这给了我所有运行的应用程序,包括很多其他的。

那么如何归档这个功能呢?谢谢你的帮助!!

2 个答案:

答案 0 :(得分:1)

我决定使用NSWorkspace.runningApplications,但使用Bundle URL字段和ownsMenuBar使用一些预定义规则过滤结果。

这些天很忙,但我会尽快发布我的结果。这是一个有用的示例应用:https://developer.apple.com/library/mac/samplecode/AppList/

答案 1 :(得分:1)

谢谢,说,这对我很有用。

这里是我用来强制退出After Effects的Swift代码:

let runningApps = NSWorkspace.sharedWorkspace().runningApplications
if let aeApp = runningApps.filter( { ($0.bundleIdentifier != nil) && ($0.bundleIdentifier! == "com.adobe.AfterEffects") }).first {
    aeApp.forceTerminate()
}

请注意,在Swift中,包标识符是可选的。