此问题会导致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.利用域名映射就可以解决啦。