【问题标题】:How to open url link by using swift?如何使用swift打开url链接?
【发布时间】:2018-08-01 00:40:04
【问题描述】:

我想通过点击按钮转到一个网址。我尝试使用 'UISharedapplication' 并通过下面提到的方法,但没有任何效果。请帮忙。 谢谢。

@IBAction func Displayurl(_ sender: Any) {

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

【问题讨论】:

    标签: ios swift xcode uiapplication openurl


    【解决方案1】:

    问题在于UIApplicationcanOpenURL() 方法只是返回是否 URL可以被打开,并没有真正打开URL。一旦确定是否可以打开 URL(通过调用 canOpenURL(),就像您所做的那样),您必须在共享的 UIApplication 实例上调用 open() 以实际打开 URL。如下所示:

    if let url = URL(string: "http://www.apple.com") {
        if UIApplication.shared.canOpenURL(url) {
            UIApplication.shared.open(url, options: [:])
        }
    }
    

    open() 还接受一个可选的 completionHandler 参数和一个 success 参数,您可以选择实施该参数以确定 URL 是否已成功打开。

    【讨论】:

    • let url = URL(string: "google.com") let vc = SFSafariViewController(url: url!) present(vc, animated: true, completion: nil) 通过添加 'Safariservice' 也解决了这个问题框架。谢谢
    【解决方案2】:

    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

    【讨论】:

      猜你喜欢
      • 2017-01-17
      • 2017-03-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多