首先使用的是wkwebView,创建了对指定地址的请求,并调用其方法加载网页。
问题1:遇到了自身公司pc链接后,页面某些图片不显示问题。
解决方案:
不显示的头像的链接,大多都是http协议的,兼容http协议需要在info里面设置一个App Transport Security Settings字典,字典设置键值对Allow Arbitrary Loads:YES。
问题2: 无法加载出网页,空白页。
解决方案:
想要访问外部链接,需要在 info里,App Sandbox 勾选
代码如下:
import Cocoa
import WebKit
class ViewController: NSViewController, WKNavigationDelegate {
@IBOutlet weak var webView: WKWebView!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view.https://juejin.cn/post/7025420337600790541
self.webView.navigationDelegate = self
if let url = URL(string: "某链接") {
let request = URLRequest(url: url)
self.webView.load(request)
}
}
func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
guard let serverTrust = challenge.protectionSpace.serverTrust else {
completionHandler(.useCredential, nil)
return
}
let credential = URLCredential(trust: serverTrust)
completionHandler(.useCredential, credential)
}
override var representedObject: Any? {
didSet {
// Update the view, if already loaded.
}
}
}