macOS上的Swift:以URL作为参数打开Chrome

macOS上的Swift:以URL作为参数打开Chrome,swift,macos,Swift,Macos,我想用macOS应用程序中的特定URL打开Chrome 我试着这样做,但不幸的是它不起作用。 Chrome已打开,但未使用给定的URL字符串打开 let configuration = NSWorkspace.OpenConfiguration() configuration.arguments = [url.absoluteString] let appUrl = URL(fileURLWithPath: "/Applications/Google Chrome.app") NSWorkspa

我想用macOS应用程序中的特定URL打开Chrome

我试着这样做,但不幸的是它不起作用。 Chrome已打开,但未使用给定的URL字符串打开

let configuration = NSWorkspace.OpenConfiguration()
configuration.arguments = [url.absoluteString]
let appUrl = URL(fileURLWithPath: "/Applications/Google Chrome.app")
NSWorkspace.shared.openApplication(at: appUrl,
    configuration: configuration,
    completionHandler: nil)
open()
在这种情况下对我没有帮助,因为我不想打开标准浏览器

非常感谢您的帮助

我解决了

NSWorkspace.shared.open([url],
    withApplicationAt: URL(fileURLWithPath: "/Applications/Google Chrome.app"),
    configuration: configuration)
做了这个把戏

我解决了它

NSWorkspace.shared.open([url],
    withApplicationAt: URL(fileURLWithPath: "/Applications/Google Chrome.app"),
    configuration: configuration)

你应该使用
urlForApplication(withBundleIdentifier:)
获取URL,而不是硬编码。bundle ID是一种比名称或路径更安全的识别应用程序的方法,用户可以更改名称或路径。@kenthomass感谢您的建议。我完全同意。您应该使用
urlForApplication(带bundleIdentifier:)
来获取URL,而不是硬编码。bundle ID是一种比名称或路径更安全的识别应用程序的方法,用户可以更改名称或路径。@kenthomass感谢您的建议。我完全同意。