2

构建一个获取当前活动的 macOS 应用程序NSRunningApplication

public func findActiveApp() -> NSRunningApplication? {
    for app in NSWorkspace.shared.runningApplications {
        if app.isActive {
            return app
        }
    }
    return nil
}

之后,我只是尝试使用终止应用程序

let app = findActiveApp()
app.terminate()

它不会终止应用程序并返回 false(这适用于任何应用程序,而不仅仅是特定应用程序)。

我也试过了app.forceTerminate()

请注意,我已经将我的应用程序添加到系统偏好设置的辅助功能列表中。

您对这可能是什么原因有任何线索吗?

谢谢!

4

1 回答 1

1

对于沙盒应用程序,您需要添加“com.apple.security.temporary-exception.apple-events”权利,例如:

<key>com.apple.security.temporary-exception.apple-events</key>
<array>
    <string>com.my.company.AppId</string>
</array>

但请注意,除非您对权利的必要性有充分的解释,否则它可能会被应用商店提交拒绝。

于 2018-10-24T17:08:09.347 回答