Para ampliar lo que dijo Randy, esto es lo que yo uso en mi solicitud para que cada http: //, https: //, y mailto: // URL abierta en las aplicaciones Safari o Mail externos:
-(BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType;
{
NSURL *requestURL =[ [ request URL ] retain ];
if (([ [ requestURL scheme ] isEqualToString: @"http" ] || [ [ requestURL scheme ] isEqualToString: @"https" ] || [ [ requestURL scheme ] isEqualToString: @"mailto" ])
&& (navigationType == UIWebViewNavigationTypeLinkClicked)) {
return ![ [ UIApplication sharedApplication ] openURL: [ requestURL autorelease ] ];
}
[ requestURL release ];
return YES;
}
Como dice Randy, querrá implementar esto en cualquier clase que configure para ser el delegado de UIWebView. Para que solo las URL seleccionadas inicien Safari, puede cambiar su esquema de http: // a safari: //, o algo similar, y solo cancelar esas URL en el sistema (después de reemplazar el esquema de URL personalizado con http: //) .
Lo hago en mi documentación interna de ayuda, que es el HTML que se muestra en un UIWebView, para que no tenga problemas en el proceso de revisión con un navegador web de propósito general incrustado en mi aplicación.
[http://stackoverflow.com/questions/4452719/cómo-do-i-abierto-links-en-Safari-lugar-de-UIWebView/12103579 # 12103579] [1] [1]: http: // stackoverflow.com/questions/4452719/how-do-i-open-links-in-safari-instead-of-uiwebview/12103579 # 12103579 –