UIWebView和WKWebView在加载HTTPS时Domain=NSURLErrorDomain Code=-999错误

此问题会导致UIWebView的:

- (void)webViewDidFinishLoad:(UIWebView *)webView

以及WKWebView的

- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation

两个代理方法不运行。

并且会在下面两个代理方法中显示 error:-999错误

//UIWebView加载失败的代理方法

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

{

         // 如果是被取消,什么也不干

         if([error code] == NSURLErrorCancelled)  {

         return;

        }

}

//WKWebView加载失败的代理方法

- (void)webView:(WKWebView *)webView didFailNavigation:(null_unspecified WKNavigation *)navigation withError:(NSError *)error

{

        // 如果是被取消,什么也不干

        if([error code] == NSURLErrorCancelled)  {

        return;

        }

}

原因:

在配置过程中的问题:1.证书和代码都搞定后,请求接口返回code-999这个意思是请求取消,最后确定是证书问题。

注意:ssl证书域名里的一个通配符只能使用一级域名,多级域名要使用多个通配符(这个就是上面的问题)。

比如https://ddy.text.com这个是一级域名,https://ddy.api.text.com则是二级域名,如果设置的支持域名是:*.ddy.com则就是一级域名可以验证成功。

解决办法:

1.在花一千块钱多买一个通配符的使用权限(不划算啊);

2.利用域名映射就可以解决啦。

你可能感兴趣的:(UIWebView和WKWebView在加载HTTPS时Domain=NSURLErrorDomain Code=-999错误)