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 ) }