iOS: ¿Es posible abrir NSURLRequest directamente en Safari?

No estoy hablando de una UIWebView , quiero abrir la aplicación de safari mobile usando una NSURLRequest .

¿Por qué? En mi aplicación, el usuario ya ha iniciado session en nuestro server web. Quiero darle al usuario la opción de iniciar la página web sin tener que volver a ingresar sus cnetworkingenciales. Sin embargo, no puedo usar un GET porque eso pondría sus cnetworkingenciales en la URL.

Entonces, ¿puedo abrir la aplicación Safari (no una UIWebView ) desde mi aplicación con una NSURLRequest o un POST en alguna otra forma?

Voy a poner mi cuello en la línea y decir que no, no hay manera de pasar una NSURLRequest directamente a Safari. El medio de comunicación entre aplicaciones (primario) en iOS es acceder a las URL; No hay un mecanismo general para pasar objects de una aplicación a otra.

Creo que lo mejor que puedes hacer es search una key de una sola vez desde tu server web en la aplicación y luego entrar en Safari con eso en la URL. Y, si puede, hágalo a través de HTTPS para que la ruta URL y los componentes de consulta solo sean visibles una vez que la negociación de TLS haya tenido éxito. Eso debería evitar que cualquier persona vea las cnetworkingenciales relevantes y evite que sean útiles, incluso si se obtienen por otros medios (como que alguien que está a tu lado copy la URL de tu pantalla).

Sería más sencillo usar un NSURL, o simplemente un NSString, o simplemente un * char * para ese asunto. No estoy seguro de si eso funciona en el iPhone, debería, ya que el iPhone funciona en paralelo con Darwin al igual que OSX, pero hay algunas restricciones en el iPhone. Sin embargo, esto definitivamente funciona en mac.

 NSString *url = @"http://www.apple.com"; NSURL *myURL = [NSURL URLWithString:url]; system([ [NSString stringWithFormat:@"Open -a Safari %@", [NSString stringWithContentsOfURL:myURL encoding:NSUTF8StringEncoding error:NULL] ] cStringUsingEncoding:NSUTF8StringEncoding]); 

Además, podría sugerir que es una mala idea (si pudiera evitarse). Como usuario de iPhone, estoy seguro de que no estoy solo al encontrarlo muy irritante cuando los desarrolladores me alejan de la aplicación en la que estoy actualmente.