2011-08-29 7 views
5

È possibile aprire un'applicazione dalla nostra applicazione con bundle identifier. Supponiamo di avere due app installate sul dispositivo uno con com.test.app1 e com.test.app2. Posso aprire app1 dalla mia app2.Applicazione aperta con identificatore del fascio

Conosco il metodo openUrl. per questo devo registrare lo schema url in info.plist. e poi posso usare seguente metodo:

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

Ma cosa succede se non mi iscrivo schema URL o non so l'url registrati.

Qualche idea ..?

risposta

3

Non credo sia possibile.

+0

Sei sicuro che questo non è possibile..? Perché possiamo verificare se l'applicazione è installata nel dispositivo o no con l'identificatore del bundle. quindi mi chiedevo che potesse esserci qualche metodo per aprirlo. –

+0

Non penso che esista un modo approvato da Apple. – Akshay

+0

@Akshay è corretto, non è possibile. –

0

È possibile utilizzare gli schemi URL.

+0

So che questo è possibile con Scheme URL ma voglio sapere che è possibile utilizzare l'identificatore del bundle? ? Se non ho il registro delle url di questo è possibile aprire un'app. –

2

È possibile utilizzare la chiamata openUrl, ma per avere successo è necessario aggiungere alcuni valori al file xy-Info.plist del progetto.

enter image description here

Una volta fatto che si può quindi chiamare:

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

5

È possibile utilizzare API private per farlo

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

Grazie mille! Funziona su iOS 11 e non è necessario conoscere lo schema URL. – DmitryKanunnikoff

+0

Tranne che non si dovrebbero mai usare API private. – ekscrypto

+0

@ekscrypto Ma penso che sia l'unico modo per soddisfare i requisiti. E a proposito, abbiamo caricato con successo l'app con questo codice su AppStore. –

Problemi correlati