swift - 即使我的默认浏览器不是在 macOS 中使用 Swift 的 Safari,如何在 Safari 中打开 url?

标签 swift macos safari

即使我的默认浏览器设置为 Google Chrome,我也试图在 Safari 中打开一个 url。我怎么做?我正在使用以下代码,但它仅在默认浏览器中打开 url。

let requiredURL = URL(string: "https://www.google.com)")!
NSWorkspace.shared.open(requiredURL)
我是否必须使用以下功能:
NSWorkspace.shared.open(urls: [URL], withApplicationAt: URL, options: NSWorkspace.LaunchOptions, configuration: [NSWorkspace.LaunchConfigurationKey : Any])
如果是这样,我该如何实现?

最佳答案

您可以使用 NSWorkspace open method在 macOS 11 中已弃用

let url = URL(string: "https://www.google.com")!

NSWorkspace.shared.open([url], withAppBundleIdentifier: "com.apple.safari", options: .default, additionalEventParamDescriptor: nil, launchIdentifiers: nil)
或更换method
do {
    let safariURL = try FileManager.default.url(for: .applicationDirectory, in: .localDomainMask, appropriateFor: nil, create: false).appendingPathComponent("Safari.app")
    NSWorkspace.shared.open([url], withApplicationAt: safariURL, configuration: .init()) { (runningApp, error) in
        print("running app", runningApp ?? "nil")
    }
} catch {
    print(error)
}
   

关于swift - 即使我的默认浏览器不是在 macOS 中使用 Swift 的 Safari,如何在 Safari 中打开 url?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64869975/

相关文章:

iOS 模拟器崩溃 requestAlwaysAuthorization()

ios - SWIFT:通过单击 UIButton 将节/行插入 UICollectionView

swift - 无法在 Storyboard上移动自定义 UIView

html - OSX 上的 Safari 奇怪地呈现 margin-top

macos - 下拉菜单选项的背景颜色在 Safari、Chrome + MAC 中不起作用

swift - 将边距设置为 Collection View 的单元格

macos - 非 cocoa 应用代表

macos - 允许在 OS X 和 Windows VirtualBox 之间复制粘贴

linux - 如何在 Mac OSX Mavericks 中正确运行字符串工具?

iphone - 每次重新加载图像高度都会增加