¿Cómo puedo habilitar las cookies en mi aplicación iPhone que utiliza una ventana UIWebView, para que mi sistema de inicio de sesión funcione?Habilitar cookies en UIWebView (iPhone)
Respuesta
Si el sitio en el que inicia sesión es un sitio ASP.NET, el problema puede deberse a que UIWebView envía un agente de usuario no reconocido. Ver Change User Agent in UIWebView (iPhone SDK)
Para asegurarse de empezar con
[NSHTTPCookieStorage sharedHTTPCookieStorage].cookieAcceptPolicy =
NSHTTPCookieAcceptPolicyAlways;
Pero, como se ha mencionado por @JoelFan, el problema puede ser la cadena de agente de usuario causando ASP.NET para intentar y fallar en un inicio de sesión sin cookies. En lugar de una respuesta que incluya
Set-Cookie: .ASPXAUTH = realmente-hex-número de larga
devuelve una redirección a algo así como
Ubicación:/(F (long-sorta-base64ish-looking-string))/
La cadena de agente de usuario UIWebView predeterminada es algo así como
User-Agent: Mozilla/5.0 (iPad; OS CPU 7_0_2 como Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Mobile/11A501
pero ASP.NET no le gusta esto. Safari envía algo como esto:
User-Agent: Mozilla/5.0 (iPad; CPU OS 7_0_2 como Mac OS X) AppleWebKit/537.51.1 (KHTML, like Gecko) Version/7.0 móvil/11A501 Safari/9537,53
haga lo siguiente desde el principio, tal vez en su AppDelegate.m
// DON'T try to reuse a UIWebView for this.
UIWebView *wv = [[UIWebView alloc] initWithFrame:CGRectZero];
// This webview has already decided to use the default user agent string.
// let's use javascript to get the existing user agent string
NSString *userAgent = [wv stringByEvaluatingJavaScriptFromString:@"navigator.userAgent"];
// let's tack on some stuff to make ASP.NET happy
userAgent = [userAgent stringByAppendingString:@" Version/7.0 Safari/9537.53"];
[[NSUserDefaults standardUserDefaults] registerDefaults:@{@"UserAgent": userAgent}];
// New UIWebViews inited after here will use the user agent string you made.
- 1. cookies en UIWebView
- 2. iOS UIwebView Auth Cookies
- 3. Establecer cookies para solicitudes UIWebView
- 4. iPhone: pop botón en UIWebView
- 5. ¿Cómo eliminar todas las cookies de UIWebView?
- 6. iphone nsurlconnection leer cookies
- 7. iphone uiwebview vista inicial en blanco
- 8. UIWebView enlaces de teléfono detección en iphone
- 9. iPhone RestKit cómo habilitar RKLogDebug?
- 10. iPhone - UIWebview no guarda la autenticación en los sitios
- 11. Administración de cookies HTTP en el iPhone
- 12. iPhone UIWebView reproduciendo MP3. Protocolo de despido?
- 13. iPhone - ¿es @ 2x válido para UIWebView?
- 14. iPhone UIWebview - Guardar una imagen ya descargada
- 15. Pantalla retina UIWebView y iPhone 4
- 16. Asp.Net Autenticación de formularios al usar el iPhone UIWebView
- 17. iPhone cómo habilitar o deshabilitar UITabBar
- 18. ¿Cómo borrar la lista anterior en UIWebview en iPhone?
- 19. Cambiando CSS sobre la marcha en un UIWebView en iPhone
- 20. Borrar las cookies del simulador de iPhone
- 21. Aplicación web para iPhone, no almacena cookies
- 22. iPhone UIWebView carga lenta en archivos HTML locales
- 23. cómo detectar redireccionamientos de url al cargar UIWebView en iphone?
- 24. iPhone dev: ¿Aumenta la velocidad de desplazamiento en UIWebView?
- 25. Cómo renderizar imágenes SVG en iphone sin uiwebview?
- 26. descarga de archivos desde UIWebView en iPhone SDK
- 27. de Desarrollo del iPhone: Asir texto seleccionado/resaltado en UIWebView
- 28. NSString en UIWebview
- 29. Deshabilitar el botón Atrás y Adelante en UIToolBar en UIWebview
- 30. Cómo habilitar la configuración de iPhone (paquete, plist) en MonoTouch