Solicitud de http://mobile.twitter.com en UIWebView

He estado tratando de insert una pequeña vista web (320×480) dentro de mi aplicación iPad, para simular un poco de "pantalla de iPhone" que muestra Twitter mobile. Pero, cada vez que uiwebview obtiene una NSUrlRequest para cargar http://mobile.twitter.com , mi aplicación se toca automáticamente en la pantalla y iOS abre Twitter para iPad.

¿Hay alguna forma de cambiar ese comportamiento?

Esto es lo que estoy haciendo:

UIWebView *viewDoTwitter = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, self.view.bounds.size.height)]; viewDoTwitter.autoresizingMask = UIViewAutoresizingFlexibleHeight; viewDoTwitter.scalesPageToFit = YES; [rootView insertSubview:viewDoTwitter atIndex:0]; [viewDoTwitter loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://mobile.twitter.com"]]]; 

EDITADO:

OK, encontré la solución, aquí: http://www.mphweb.com/en/blog/easily-set-user-agent-uiwebview

  UIWebView *viewDoTwitter = [[UIWebView alloc] initWithFrame:CGRectMake(0, 0, 320, self.view.bounds.size.height)]; viewDoTwitter.autoresizingMask = UIViewAutoresizingFlexibleHeight; viewDoTwitter.scalesPageToFit = YES; NSDictionary *dictionnary = [[NSDictionary alloc] initWithObjectsAndKeys:@"Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3", @"UserAgent", nil]; [[NSUserDefaults standardUserDefaults] registerDefaults:dictionnary]; [rootView insertSubview:viewDoTwitter atIndex:0]; [viewDoTwitter loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:@"http://m.twitter.com"]]]; 

Pero, ahora que enfrenta un nuevo problema: mobile.twitter.com insiste en adaptarse al tamaño de la pantalla del iPad, en lugar del ancho de 320 píxeles especificado.

Si lo está haciendo así, no debe ser networkingirigido

 - (void)viewDidLoad { [super viewDidLoad]; NSURL *url = [NSURL URLWithString:@"http://mobile.twitter.com"]; NSURLRequest *request = [NSURLRequest requestWithURL:url]; [webView loadRequest:request]; } 

El comportamiento que describió es posible mediante esta línea de código (networkingirecciones):

 [[UIApplication shanetworkingApplication] openURL:url]; 

También noté este nuevo comportamiento en UIWebView en varias aplicaciones. Esto solo ha comenzado desde hoy, ya que ayer todas estas aplicaciones funcionaron bien.

Si intenta conectarse en su lugar a https://mobile.twitter.com (tenga en count que la URL es "https") en UIWebView, accederá a la pantalla de inicio de session de Twitter, pero después de ingresar las cnetworkingenciales, el sitio intenta networkingirigir su aplicación a Twitter: // línea de time después de iniciar session. Si no tiene la aplicación mobile nativa oficial de Twitter instalada en el dispositivo, no puede explorar el sitio mobile de Twitter en UIWebView. Si tienes la aplicación nativa de Twitter instalada, la networkingirigirás a esa aplicación en lugar de navegar por el sitio mobile en UIWebView.

Lo extraño es que si intentas lo mismo en Mobile Safari no obtendrás este comportamiento de networkingirección a la aplicación mobile nativa de Twitter.

¿Es este una especie de nueva restricción del lado de Twitter, ya que esto romperá una serie de aplicaciones que acceden al sitio mobile de Twitter dentro de un UIWebView.

No estoy seguro si otros usuarios han experimentado este mismo nuevo comportamiento?

PD: ¿Simplemente revisé el panel de discusión de soporte del desarrollador de Twitter y alguien más está experimentando el mismo problema?