WKWebView加载不受信任的https

1.描述:因公司域名临时出现问题,所以项目中引用到了IP地址加端口号去请求数据,因而造成在wkwebView中某些网址打不开,查看错误是因为服务器证书无效,实际就是不受信任;
2.解决办法:在plist文件中设置Allow Arbitrary Loads in Web Content 置为 YES,并实现wkwebView下面的代理方法,就可解决

//WKWebView加载不受信任的https

  • (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition, NSURLCredential * _Nullable))completionHandler
    {
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {

      NSURLCredential *card = [[NSURLCredential alloc]initWithTrust:challenge.protectionSpace.serverTrust];
      
      completionHandler(NSURLSessionAuthChallengeUseCredential,card);
    

    } }

  • (void)dealloc {

    [[_webView configuration].userContentController removeScriptMessageHandlerForName:@"closeResultPage"];
    [[_webView configuration].userContentController removeScriptMessageHandlerForName:@"getOrderInfo"];

}

你可能感兴趣的:(WKWebView加载不受信任的https)