如何使用swift打开URL链接?

时间:2018-08-01 00:40:04

标签: ios swift xcode uiapplication openurl

我想通过单击按钮转到URL。我尝试使用“ UISharedapplication”以及通过下面提到的方法,但没有用。请帮忙。 谢谢。

@IBAction func Displayurl(_ sender: Any) {

    UIApplication.shared.canOpenURL(NSURL (string: "http://www.apple.com")! as URL)
}

2 个答案:

答案 0 :(得分:4)

问题是UIApplication的{​​{1}}方法仅返回是否可以打开URL ,而实际上并未打开URL 。一旦确定是否可以打开URL(通过调用canOpenURL(),然后完成操作),就必须在共享的canOpenURL()实例上调用open(),以实际打开URL。如下所示:

UIApplication

open()还接受带有单个if let url = URL(string: "http://www.apple.com") { if UIApplication.shared.canOpenURL(url) { UIApplication.shared.open(url, options: [:]) } } 参数的可选completionHandler参数,您可以选择使用该参数来确定URL是否成功打开。

答案 1 :(得分:3)

canOpenURL(_:)方法用于是否有已安装的应用程序可以处理url方案。要打开指定URL的资源,请使用open(_:options:completionHandler:)方法。例如

 if let url = URL(string: "apple.com") {
        if UIApplication.shared.canOpenURL(url) {
            if #available(iOS 10.0, *) {
                UIApplication.shared.open(url, options: [:], completionHandler: nil)
            } else {
                UIApplication.shared.openURL(url)
            }
        }
    }

有关更多信息,请查看https://developer.apple.com/documentation/uikit/uiapplication/1622961-openurl此处的文档