如何使用Swift作为编程语言和OSX作为平台在系统默认浏览器中打开URL。
我在UIApplication中找到了很多,比如
UIApplication.sharedApplication().openURL(NSURL(string: object.url))
但这只适用于iOS,而不适用于OSX
Launch Services,我发现没有swift的例子,OSX 10.10已经有很多不赞成使用了
欢迎任何帮助 - 谢谢。
答案 0 :(得分:115)
Swift 3或更高版本
import Cocoa
let url = URL(string: "https://www.google.com")!
if NSWorkspace.shared.open(url) {
print("default browser was successfully opened")
}
答案 1 :(得分:34)
对于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。
答案 2 :(得分:11)
MACOS:
NSWorkspace.sharedWorkspace().openURL(NSURL(string: "https://google.com")!)
iOS:
UIApplication.sharedApplication().openURL(NSURL(string: "https://google.com")!)
答案 3 :(得分:10)
使用 Swift 3 时,您可以使用以下内容在默认浏览器中打开网页:
NSWorkspace.shared().open(NSURL(string: "https://google.com")! as URL)
在上面接受的答案中,您还可以输入以下内容,使用 Swift 3 检查网址:
if let checkURL = NSURL(string: "https://google.com") {
if NSWorkspace.shared().open(checkURL as URL) {
print("URL Successfully Opened")
}
} else {
print("Invalid URL")
}
我希望这些信息可以帮助它适用于任何人。
答案 4 :(得分:8)
只是奖金。如果您想在特定浏览器中打开网址(甚至是其他可以处理该网址的客户端),这里是在Xcode 8.2.1和macOS上测试的 Swift 3 代码10.12.2。
/// 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
)
}
答案 5 :(得分:8)
xCode 9更新
let url = URL(string: "https://www.google.com")!
UIApplication.shared.open(url, options: [:], completionHandler: nil)
答案 6 :(得分:1)
MacOS Xcode 10 Swift 4.2更新
NSWorkspace.shared.open(URL(string: "https://www.google.com")!)
答案 7 :(得分:0)
对于 Swift 5 , Xcode 10 和 MAC OS :
NSWorkspace.shared.open(NSURL(string: "http://www.lichess.org")! as URL)