加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何让WKWebView在swift和macOS App中工作

发布时间:2020-12-14 02:24:19 所属栏目:百科 来源:网络整理
导读:参见英文答案 Transport security has blocked a cleartext HTTP24个 在此之前,由于重复而被击落,事实并非如此.几乎WKWebView上的每个问题都是关于iOS应用程序中的WKWebView,而不是macOS应用程序,区别仅在于实现的UIViewController接口而不是macOS中的NSView
参见英文答案 > Transport security has blocked a cleartext HTTP24个
在此之前,由于重复而被击落,事实并非如此.几乎WKWebView上的每个问题都是关于iOS应用程序中的WKWebView,而不是macOS应用程序,区别仅在于实现的UIViewController接口而不是macOS中的NSViewController接口.

Apple的文档中的示例代码以及可在线找到的Controller代码不起作用.尽管如此,它编译时没有问题,webview保持不活动状态.

有什么东西我没看到,或者这是WKWebView中的错误?
我甚至从教程中复制了一些代码,显示了如何为iOS做这个,只是将UIViewController更改为NSViewController(因为这是唯一的区别),但它没有用.

ViewController.swift中的以下代码不起作用.
它也不起作用
class ViewController:NSViewController,WKUIDelegate

import Cocoa;
import WebKit;
class ViewController: NSViewController {
    @IBOutlet weak var webView: WKWebView!
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view.
        let url=URL(string: "http://safetec-cam.biz/images/webcam_extern/bad-nauheim_bahnhof_west.jpg");
        webView.load(URLRequest(url: url!));
    }
}

如果用UIViewController交换NSViewController这样做的话它也行不通
image from https://developer.apple.com/documentation/webkit/wkwebview

我建议你从头开始:

设置要加载的URL:

let myURLString = "https:yourWebLink"
let url = NSURL(string: myURLString)
let request = NSURLRequest(URL: url!)

在webview中初始化和加载请求:

webView = WKWebView(frame: self.view.frame)
    webView.navigationDelegate = self
    webView.loadRequest(request)

实现WKNavigationDelegate以跟踪您的页面加载/错误:

func webView(webView: WKWebView,didFailProvisionalNavigation navigation: WKNavigation!,withError error: NSError) {
    print(error.localizedDescription)
}
func webView(webView: WKWebView,didStartProvisionalNavigation navigation: WKNavigation!) {
    print("Strat to load")
}
func webView(webView: WKWebView,didFinishNavigation navigation: WKNavigation!) {
    print("finish to load")
}

别忘了在ViewController.swift文件中添加委托WKNavigationDelegate.

class ViewController: UIViewController,WKNavigationDelegate{

进一步参考检查:https://iosdevcenters.blogspot.com/2016/05/creating-simple-browser-with-wkwebview.html

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读