¿Cómo puedo volver a iniciar la aplicación que abrió mi esquema de URL personalizado?

Estoy trabajando en una aplicación que administra mi propio esquema de URL, así que implemento la callback:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions (NSDictionary *)launchOptions { // Get our launch URL if (launchOptions != nil) { // Launch dictionary has data NSURL* launchURL = [launchOptions objectForKey: UIApplicationLaunchOptionsURLKey]; // Parse the URL NSString* hostString = [launchURL host]; blah blah blah... 

Funciona muy bien, pero necesito iniciar la aplicación de llamada (es decir, la aplicación que abrió la URL). Entonces, mi pregunta aquí es: ¿es posible?

He estado jugando con UIApplicationLaunchOptionsSourceApplicationKey pero no puedo volver a iniciar la aplicación con su ID de package de la aplicación. ¿Puedo?

También he probado el launchApplicationWithIdentifier: indocumentado launchApplicationWithIdentifier: de UIApplication , pero necesito una solución real y parece que la solución solo funciona en el simulador.

¿Algunas ideas? ¡Gracias!

La única forma sería que ambas aplicaciones sean compatibles con un esquema de URL personalizado. Luego incrusta la URL de la persona que llama en la URL de la otra aplicación.

Por ejemplo, digamos que App2 quiere llamar a App1 de una manera para que App1 pueda "volver a llamar" a App2. Crearía y abriría una URL como esta:

 app1://?caller=app2%3A%2F%2Fblabla 

Cuando descifra la parte que caller , obtendrá la cadena app2://blabla que podría volver a abrir con openURL: para "volver a llamar".