macOS SwiftUI:MenuItem 打开默认浏览器到 URL?

esa*_*oho 4 macos xcode nsmenuitem swiftui

我一直在尝试在 macOS SwiftUI 应用程序中创建一个 MenuItem,以打开默认浏览器访问特定的 URL。

由于我已经有一个 MenuItem 打开 PDF,所以我尝试修改它:

    @IBAction func Guide1(_ sender: Any) {
            if let pdfURL = Bundle.main.url(forResource: "Guide1", withExtension: "pdf"){
                if NSWorkspace.shared.open(pdfURL) {
            }
        }
    }
Run Code Online (Sandbox Code Playgroud)

进入这个:

    @IBAction func Google(_ sender: NSMenuItem) {
        if let fileURL = Bundle.main.url(forResource: "http://google.fi") {
                NSWorkspace.shared.open(fileURL as URL)
        }
    }
Run Code Online (Sandbox Code Playgroud)

但一直被告知forResource应该替换为forAuxiliaryExecutable. 我进行了更改,但代码仍然没有执行任何操作。

当然,我已经将 MenuItem Google 映射到 First Responder,然后映射到特定的 IBAction,但是..

我缺少什么?

Asp*_*eri 5

应该如下

@IBAction func Google(_ sender: NSMenuItem) {
    if let url = URL(string: "http://google.fi") {
        NSWorkspace.shared.open(url)
    }
}
Run Code Online (Sandbox Code Playgroud)