Cambiar el User Agent de una UIWebView en iOS

Para cambiar el user agent de una UIWebView en iOS tan solo tenemos que usar el siguiente código:

NSDictionary *dictionario = [[NSDictionary alloc] initWithObjectsAndKeys:@”Mi user agent personalizado”, @”UserAgent”, nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionario];
Se puede usar por ejemplo para que las páginas no nos carguen la versión móvil de una web, poniendo por ejemplo el User Agent de firefox o Chrome.
También cambiaría el User Agent para phonegap, tanto para la CordovaWebView como para el InAppBrowser.
Para saber el User Agent de una UIWebView podemos usar este código:
UIWebView* webViewTemporal = [[UIWebView alloc] initWithFrame:CGRectZero];
NSString* userAgent = [webViewTemporal stringByEvaluatingJavaScriptFromString:@”navigator.userAgent”];
Esto nos puede ser útil para poder modificar el User Agent original de la UIWebView y personalizarlo como acabamos de ver. Ejemplo:
UIWebView* webViewTemporal = [[UIWebView alloc] initWithFrame:CGRectZero];
NSString* userAgent = [webViewTemporal stringByEvaluatingJavaScriptFromString:@”navigator.userAgent”];
NSString * miUserAgentPersonal = [NSString stringWithFormat:@”Mi app %@”,userAgent];
NSDictionary *dictionario = [[NSDictionary alloc] initWithObjectsAndKeys:miUserAgentPersonal, @”UserAgent”, nil];
[[NSUserDefaults standardUserDefaults] registerDefaults:dictionario];
De esta forma mantenemos el User Agent original pero con una pequeña modificación para detectar que se accede desde nuestra aplicación.

 

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *