iOS wkWebView加载不受信任的https

1,842 阅读1分钟

开发过程中会遇见某些情况在https的请求下网页或者网页内的https图片无法正常显示

解决办法

1.在plist文件内将Allow Arbitrary Loads in Web Content 置为 YES 若有设置NSAllowsArbitraryLoadsYES,可不用设置上面 NSAllowsArbitraryLoads

2.加入wkWebView的代理方法

//加载不受信任的https 
- (void)webView:(WKWebView *)webView didReceiveAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge completionHandler:(void (^)(NSURLSessionAuthChallengeDisposition disposition, NSURLCredential * _Nullable credential))completionHandler{
    
    if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) {
        NSURLCredential *card = [[NSURLCredential alloc]initWithTrust:challenge.protectionSpace.serverTrust];
        completionHandler(NSURLSessionAuthChallengeUseCredential,card);
    }
}