【问题标题】:swift 3 open URLs in safari or native app在 safari 或本机应用程序中快速打开 3 个 URL
【发布时间】:2017-02-24 10:57:43
【问题描述】:
import UIKit
import WebKit


// Add WKWebView in StoryBoard
class ViewController: UIViewController {

    @IBOutlet var webView: WebView!

    override func viewWillAppear(_ animated: Bool) {
        super.viewWillAppear(animated)
        webView.loadUrl(string: "https://url.to/my/template")
    }
}

class WebView: WKWebView {

    required init?(coder: NSCoder) {

        if let _view = UIView(coder: coder) {
            super.init(frame: _view.frame, configuration: WKWebViewConfiguration())
            autoresizingMask = _view.autoresizingMask
        } else {
            return nil
        }
    }

    func loadUrl(string: String) {
        if let url = URL(string: string) {
            load(URLRequest(url: url))
        }
    }

}

网站是html5 + CSS3。从 themeforest 购买了一个模板,但开发人员说他不提供对 xcode 的支持。 至于现在,所有链接都在 webview 中打开。如何在 safari 中打开它们以及转到应用程序的 url,以打开已安装的应用程序,例如 facebook、twitter? 我能找到的只是在 safari 中打开所有 URL。 L.E.谢谢!所以我想加载托管在 url 上的模板,但是模板中的链接要加载到 safari 中,甚至更好,比如来自Swift Open Link in Safari 的 3 票答案。当我尝试使用该代码时,出现错误。对不起,谢谢!我根本不知道 swift(或编码太多)。

【问题讨论】:

  • UIApplication.shared.open(NSURL(string:"https://url.tld/to/the/site") as! URL, options: [:], completionHandler: nil)
  • 感谢 iOS 应用开发。我的应用程序包括加载url.tld/to/t‌​he/site。所以当我加载它时,它会加载 html5 模板。我希望在 safari 中打开除此之外的所有其他 URL,还是在 webview 中打开某种初始 webview?这甚至可能吗?

标签: ios swift3


【解决方案1】:

如果你想打开 url 作为 safari 比你可以使用 Add SafariSevices.Framework

 import SafariServices
 class ViewController: UIViewController, SFSafariViewControllerDelegate
 {

@IBAction func btnClick(_ sender: Any)

{
    let safariVC = SFSafariViewController(url: NSURL(string: "https://www.google.co.in") as! URL)

    self.present(safariVC, animated: true, completion: nil)

}

 func safariViewControllerDidFinish(controller: SFSafariViewController)
{
    controller.dismiss(animated: true, completion: nil)
}

}

【讨论】:

  • safariVC.delegate = self 在这里我得到预期的声明错误。
  • // 评论并检查。你有没有添加委托和框架
  • 错误从上面和下面移动到代码行......当我注释掉那个时。
猜你喜欢
  • 2011-01-18
  • 1970-01-01
  • 1970-01-01
  • 2011-09-10
  • 1970-01-01
  • 2014-11-14
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
相关资源
最近更新 更多