如何通过使用Swift作为编程语言并使用OSX作为平台在系统默认浏览器中打开url。
我在UIApplication中发现了很多东西,例如
UIApplication.sharedApplication().openURL(NSURL(string: object.url))
但这仅适用于iOS而不适用于OSX
与发射服务,我发现有迅速没有例子并没有过时的OSX 10.10很多
欢迎任何帮助-谢谢。
Answers:
对于MacOS,您可以使用以下命令:
let url = URL(string: "https://www.stackoverflow.com")!
NSWorkspace.sharedWorkspace().openURL(url))
对于iOS,可以使用以下命令:
let url = NSURL(string: "https://google.com")!
UIApplication.sharedApplication().openURL(url)
您必须解开NSURL。
苹果系统:
NSWorkspace.sharedWorkspace().openURL(NSURL(string: "https://google.com")!)
iOS:
UIApplication.sharedApplication().openURL(NSURL(string: "https://google.com")!)
使用Swift 3时,您可以使用以下方法在默认浏览器中打开网页:
NSWorkspace.shared().open(NSURL(string: "https://google.com")! as URL)
在上面接受的答案中,您还可以通过输入以下内容使用Swift 3检查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上经过测试的Swift 3代码。
/// appId: `nil` use the default HTTP client, or set what you want, e.g. 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
)
}
MacOS Xcode 10 Swift 4.2更新
NSWorkspace.shared.open(URL(string: "https://www.google.com")!)