en UiWebView: la carga HTTP de NSURLConnection / CFURLConnection falló (kCFStreamErrorDomainSSL, -108)

Cuando abro un enlace en UIWebView y hago clic en el icono de Facebook del contenido de esa URL, da el siguiente error

2014-01-09 13:15:14.412 AppName[2067:5407] CFNetwork SSLHandshake failed (-108) 2014-01-09 13:15:14.412 AppName[2067:5407] CFNetwork SSLHandshake failed (-108) 2014-01-09 13:15:15.063 AppName[2067:5407] CFNetwork SSLHandshake failed (-108) 2014-01-09 13:15:15.064 AppName[2067:5407] NSURLConnection/CFURLConnection HTTP load failed (kCFStreamErrorDomainSSL, -108) 

También busco este error en google pero no se encontraron resultados para -108 . resultados encontrados para 98 *

y este mismo enlace funciona el mismo process en safari y también en otra aplicación UIWebView. pero tomo un nuevo proyecto para la segunda aplicación y pongo este enlace en UIWebView, da error.

Por favor ayuda y gracias de antemano.

Si colocas esto en cualquier parte de tu código, la aplicación omitirá la validation del certificate:

 @implementation NSURLRequest(DataController) +(BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host { return YES; } @end 

Facebook tiene protocolo https en la URL.

Cargando una https url en UIWebview diferente de cargar la url https normal.

Y para cargar la URL de https , eche un vistazo a loading-https-url-in-uiwebview y este SO Post 1 y SO Post 2 aquí.

Puede ayudarlo.

Creo que estás tratando de encontrar esto:

 BOOL _Authenticated; NSURLRequest *_FailedRequest; #pragma UIWebViewDelegate -(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { BOOL result = _Authenticated; if (!_Authenticated) { _FailedRequest = request; NSURLConnection *urlConnection = [[NSURLConnection alloc] initWithRequest:request delegate:self]; [urlConnection start]; } return result; } #pragma NSURLConnectionDelegate -(void)connection:(NSURLConnection *)connection willSendRequestForAuthenticationChallenge:(NSURLAuthenticationChallenge *)challenge { if ([challenge.protectionSpace.authenticationMethod isEqualToString:NSURLAuthenticationMethodServerTrust]) { NSURL* baseURL = [NSURL URLWithString:@"your url"]; if ([challenge.protectionSpace.host isEqualToString:baseURL.host]) { NSLog(@"trusting connection to host %@", challenge.protectionSpace.host); [challenge.sender useCnetworkingential:[NSURLCnetworkingential cnetworkingentialForTrust:challenge.protectionSpace.serverTrust] forAuthenticationChallenge:challenge]; } else NSLog(@"Not trusting connection to host %@", challenge.protectionSpace.host); } [challenge.sender continueWithoutCnetworkingentialForAuthenticationChallenge:challenge]; } -(void)connection:(NSURLConnection *)connection didReceiveResponse:(NSURLResponse *)pResponse { _Authenticated = YES; [connection cancel]; [webvw loadRequest:_FailedRequest]; }