Las alegrías de didFailLoadWithError UIWebview

Si miras el código aquí:

https://github.com/evernote/evernote-sdk-ios/blob/master/evernote-sdk-ios/internal/ENOAuthViewController.m

que implementan el flujo de OAuth 2.0 en UIWebView.

El autor usa este código para la function de delegado didFailLoadWithError:

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error { if ([error.domain isEqualToString:@"WebKitErrorDomain"] && error.code == 102) { return; } if (error.code == NSURLErrorCancelled) { // ignore rapid repeated clicking (error code -999) return; } } 

¿Por qué está ignorando esos dos errores (NSURLErrorCancelled) y el código de error 102?

El código de error 102 del WebKitErrorDomain es el error que genera el UIWebView si su delegado devuelve FALSE desde webView:shouldStartLoadWithRequest:navigationType . Cuando se implementa el flujo de OAuth2 con un UIWebView, es común hacer esto cuando se encuentra la URL de redirect final, esto significa que es hora de ocultar la vista web y comenzar el process de intercambio del código de acceso en la URL con un token directamente desde la authentication proveedor.

El segundo error es algo con lo que estoy less familiarizado, pero basado en el comentario de código proporcionado y la respuesta aceptada a esta pregunta , sospecho que hay algo de lógica en el browser o UIWebView que filtra automáticamente los clics repetidos rápidos. Probablemente se plantee el error por layout, de modo que se pueda notificar a los delegates si están interesados.

de wiki

102 Procesamiento (WebDAV; RFC 2518) Como una request de WebDAV puede contener muchas sub-requestes que implican operaciones de files, puede tardar mucho time para completar la request. Este código indica que el server ha recibido y está procesando la request, pero aún no hay respuesta disponible. [3] Esto impide que el cliente termine el time y suponga que la request se perdió.

de

WebKitErrorDomain Una cadena utilizada por NSError para indicar que el error fue originado por una class WebKit.

Parece que los errores del kit web de Loke son algo interno y que el autor no quiere manejar este error.

ACTUALIZAR

No veo que hay && en condición. Entonces eso significa que si WebKitErrorDomain aparece y el código es 102, eso significa que el kit web no puede mostrar la página por ahora, porque hay demasiadas subpreguntas y tienes que esperar un poco