swift 使用NSRunning应用程序?

2fjabf4q  于 2022-12-28  发布在  Swift
关注(0)|答案(2)|浏览(155)

我试图让我的OS X应用程序检测某个程序是否正在运行,但NSRunningApplications不为我工作。

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

我得到的错误是
应为“{”以启动getter定义。
以及
应返回“NSWorkspace”的函数中缺少返回值。
有什么想法吗?

zpjtge22

zpjtge221#

您必须使用NSWorkspace.sharedWorkspace().runningApplications本身:

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

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

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

print(names)
q1qsirdb

q1qsirdb2#

在**Swift 5+**中,语法更改为:

NSWorkspace.shared.runningApplications

相关问题