xcode - macOS SwiftUI : MenuItem to open default browser to a URL?

标签 xcode macos swiftui nsmenuitem

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

因为我已经有了 a MenuItem open up a PDF ,我试图修改这个:

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

进入这个:
    @IBAction func Google(_ sender: NSMenuItem) {
        if let fileURL = Bundle.main.url(forResource: "http://google.fi") {
                NSWorkspace.shared.open(fileURL as URL)
        }
    }

但一直被告知forResource应替换为 forAuxiliaryExecutable .我做了那个改变,代码仍然什么都不做。

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

我错过了什么?

最佳答案

它应该如下

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

关于xcode - macOS SwiftUI : MenuItem to open default browser to a URL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59823516/

相关文章:

ios - 在字符串中添加空格

ios - Xcode 和 iOS 版本是否会影响旧项目(在 Xcode 7.2 iOS 9.0 objective-c 上创建)?

ios - 在没有与设备配对的 Apple-ID 的情况下签署应用程序以进行两步验证

python - 为什么这个 tkinter 菜单小部件的一部分不显示?

python - 在 OSX 中为 python3 安装 opencv3

ios - swift 用户界面。如何设置 Spacer 的收缩行为?

Xcode 在文档中查找卡住区分大小写

macos - 将 pkgbuild 安装在用户主目录中

SwiftUI Charts 如何向选定(或最后一个)BarMark 添加指示线

ios - 如何在 SwiftUI 中制作水平列表?