菜单 学习猿地 - LMONKEY

VIP

开通学习猿地VIP

尊享10项VIP特权 持续新增

知识通关挑战

打卡带练!告别无效练习

接私单赚外块

VIP优先接,累计金额超百万

学习猿地私房课免费学

大厂实战课仅对VIP开放

你的一对一导师

每月可免费咨询大牛30次

领取更多软件工程师实用特权

入驻
393
0

【Swift】 WKWebView https 加载不受信任的站点

原创
05/13 14:22
阅读数 86652

  

  公司要对接一个第三方平台,然后就有了一个可奇葩的逻辑,用户填写完相关信息后,点击提交,然后服务器返回一个网页的源代码……需要用WebView加载这个网页。

实现的时候发现,我自己写的简单的网页源码可以加载,但是服务器返回的就是无法加载。后来把源码保存成文件以后,用浏览器打开发现,该网页链接的站点是一个不受信任的站点,应该是因为服务器证书无效而不受信任。

self.wkWeb.navigationDelegate = self

// 实现以下代理方法
func webView(_ webView: WKWebView, didReceive challenge: URLAuthenticationChallenge, completionHandler: @escaping (URLSession.AuthChallengeDisposition, URLCredential?) -> Void) {
     let cred = URLCredential.init(trust: challenge.protectionSpace.serverTrust!)
     completionHandler(.useCredential, cred)
}

  有朋友说还需要在 plist 文件中设置:

  将Allow Arbitrary Loads in Web Content 置为 YES,或者将Allow Arbitrary Loads置位YES

  但是我实际测试以后发现,不设置也可以打开,可能是具体情况不同的原因吧!

发表评论

0/200
393 点赞
0 评论
收藏