1.给PSDWebViewURLProtocol添加分类
2.实现这个方法- (void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge;
为什么不是- (void)connection:didReceiveAuthenticationChallenge:这个方法呢?
因为API_DEPRECATED("Use -connection:willSendRequestForAuthenticationChallenge: instead.", macos(10.2,10.10), ios(2.0,8.0), watchos(2.0,2.0), tvos(9.0,9.0));
3.
-(void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge{// 判断是否是信任服务器证书// if(challenge.protectionSpace.authenticationMethod == NSURLAuthenticationMethodServerTrust) {// 告诉服务器,客户端信任证书// 创建凭据对象NSURLCredential *credntial = [NSURLCredential credentialForTrust:challenge.protectionSpace.serverTrust];// 告诉服务器信任证书[challenge.sender useCredential:credntial forAuthenticationChallenge:challenge];// }}
注意:里面代码要写完整,判断了NSURLAuthenticationMethodServerTrust还要判断其他的