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

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

我发现很多与UIApplication一样

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

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

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

欢迎任何帮助 – 谢谢。

5 Solutions collect form web for “OSX Swift在默认浏览器中打开URL”

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 ) } 
  • 编译时间令人难以置信的慢
  • Xcode链接器错误:文件太小,体系结构x86_64
  • Xcode将哪些源代码标识为标签?
  • Xcode 5和iOS 7:体系结构和有效的体系结构
  • 在UITableView的iOS文档目录中列出保存的文件?
  • iOS5什么“由于太多未处理的消息而丢弃事件0的消息”是什么意思?
  • XCode 4按名称sorting文件
  • 将视图控制器从一个故事板移动或复制到另一个
  • UIWebView didFinishLoading会多次触发
  • 由于一般错误,此时无法处理应用程序info.plistvalidation(1095)
  • 如何完全重命名Xcode项目(即包含文件夹)?