2011-08-29 13 views
5

Es posible abrir una aplicación desde nuestra aplicación con bundle identifier. Supongamos que tengo dos aplicaciones instaladas en el dispositivo uno con com.test.app1 y com.test.app2. ¿Puedo abrir la aplicación1 desde mi aplicación2?Aplicación abierta con identificador de paquete

Conozco el método openUrl. para eso tengo que registrar el esquema de url en info.plist. y entonces puedo usar siguiente método:

[[UIApplication sharedApplication] openUrl:[NSURL urlWithString:@"myApp1://"]]; 

Pero lo que si no se registró esquema de URL o no sé la URL registrada.

¿Alguna idea ...?

Respuesta

3

No creo que eso sea posible.

+0

¿Seguro que esto no es posible..? Porque podemos verificar si la aplicación está instalada en el dispositivo o no con el identificador de paquete. entonces me preguntaba si podría haber algún método para abrirlo. –

+0

No creo que exista una forma aprobada por Apple. – Akshay

+0

@Akshay es correcto, no es posible. –

0

Es posible usar esquemas de URL.

+0

Sé que esto es posible con el esquema de URL pero quiero saber si esto es posible usando el identificador de paquete? ? Si no tengo registro de esquema de URL, es posible abrir una aplicación. –

2

Puede usar la llamada openUrl, pero para tener éxito, debe agregar algunos valores al archivo xy-Info.plist de su proyecto.

enter image description here

Una vez que hayas hecho esto a continuación, puede llamar a:

[[UIApplication sharedApplication] openUrl:[NSURL urlWithString:@"xingipad://"]];

5

Puede utilizar la API privado para hacer que

Class LSApplicationWorkspace_class = objc_getClass("LSApplicationWorkspace"); 
NSObject * workspace = [LSApplicationWorkspace_class performSelector:@selector(defaultWorkspace)]; 
BOOL isopen = [workspace performSelector:@selector(openApplicationWithBundleID:) withObject:@"com.apple.mobilesafari"]; 
+0

¡Muchas gracias! Funciona en iOS 11 y no necesita conocer el esquema de URL. – DmitryKanunnikoff

+0

Excepto que nunca debe usar API privadas. – ekscrypto

+0

@ekscrypto Pero creo que es la única forma de cumplir los requisitos. Y, por cierto, subimos con éxito la aplicación con este código a AppStore. –

Cuestiones relacionadas