OSX Swift在默认浏览器中打开URL

如何通过使用Swift作为编程语言和OSX作为plattform在系统默认浏览器中打开一个url。

我发现很多与UIApplication一样

UIApplication.sharedApplication().openURL(NSURL(string: object.url)) 

但是这只适用于iOS而不适用于OSX

我发现启动服务没有快速的例子,OSX 10.10有很多不推荐的例子

欢迎任何帮助 – 谢谢。

Xcode 8.1•Swift 3.0.1

 import Cocoa if let url = URL(string: "https://www.google.com"), NSWorkspace.shared().open(url) { print("default browser was successfully opened") } 

对于iOS,您可以使用以下内容:

  let url = NSURL(string: "https://google.com")! UIApplication.sharedApplication().openURL(url) 

你必须解开NSURL。

 NSWorkspace.sharedWorkspace().openURL(NSURL(string: "https://google.com")!) 

要么

  UIApplication.sharedApplication().openURL(NSURL(string: "https://google.com")!) 

使用Swift 3时 ,可以使用以下方法在默认浏览器中打开一个网页:

 NSWorkspace.shared().open(NSURL(string: "https://google.com")! as URL) 

在上面接受的答案中,您也可以使用Swift 3通过input以下内容来检查URL:

 if let checkURL = NSURL(string: "https://google.com") { if NSWorkspace.shared().open(checkURL as URL) { print("URL Successfully Opened") } } else { print("Invalid URL") } 

我希望这些信息能够帮助任何人适用。

只是一个奖金。 如果你想在一个特定的浏览器 (甚至是其他可以处理该URL的客户端)中打开一个URL ,这里是在Xcode 8.2.1和macOS 10.12.2上testing的Swift 3代码。

 /// appId: `nil` use the default HTTP client, or set what you want, eg Safari `com.apple.Safari` func open(url: URL, appId: String? = nil) -> Bool { return NSWorkspace.shared().open( [url], withAppBundleIdentifier: appId, options: NSWorkspaceLaunchOptions.default, additionalEventParamDescriptor: nil, launchIdentifiers: nil ) }