使用NSRunningApplications?

时间:2016-01-17 19:49:58

标签: swift macos nsworkspace

我正在尝试让我的OS X应用程序检测某个程序是否正在运行但NSRunningApplications对我不起作用。这是我的代码:

import AppKit
class func sharedWorkspace() -> NSWorkspace
{
    var runningApplications: [NSRunningApplications] {get}
}

我得到的错误是

  

预期'{'开始getter定义。

以及

  

在预期返回'NSWorkspace。

的函数中缺少返回

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

您必须自己使用NSWorkspace.sharedWorkspace().runningApplications

for app in NSWorkspace.sharedWorkspace().runningApplications {
    if let name = app.localizedName {
        print(name)
    }
}

您可以使用简单的map(或flatMap来管理Optionals)在数组中获取正在运行的应用程序名称:

let names = NSWorkspace.sharedWorkspace().runningApplications.flatMap { $0.localizedName }

print(names)