2011-08-29 12 views
5

Czy można otworzyć aplikację z naszej aplikacji pod numerem bundle identifier. Załóżmy, że mam zainstalowane dwie aplikacje na urządzeniu z com.test.app1 i com.test.app2. Czy mogę otworzyć aplikację1 z mojej aplikacji2.Otwórz aplikację z identyfikatorem pakietu

Wiem o metodzie openUrl. w tym celu muszę zarejestrować schemat URL w info.plist. a następnie można użyć następującej metody:

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

ale co jeśli nie zarejestrować schematu URL lub nie wiesz zarejestrowanego adresu URL.

Każdy pomysł ..?

Odpowiedz

3

Nie sądzę, że to możliwe.

+0

Czy jesteś pewien, że to nie jest możliwy..? Ponieważ możemy sprawdzić, czy aplikacja jest zainstalowana na urządzeniu, czy nie, z identyfikatorem pakietu. więc zastanawiałem się, że może istnieć jakaś metoda na otwieranie go. –

+0

Nie sądzę, że istnieje sposób zatwierdzony przez Apple. – Akshay

+0

@Akshay jest poprawne, nie jest możliwe. –

0

Jest to możliwe dzięki Schematom adresów URL.

+0

Wiem, że jest to możliwe w Schemacie URL, ale chcę wiedzieć, że jest to możliwe przy użyciu identyfikatora pakietu? ? Jeśli nie mam rejestru schematów URL, to jest możliwe otwieranie aplikacji. –

2

Można użyć wywołania openUrl, ale aby odnieść sukces, należy dodać pewne wartości do pliku projektu xy-Info.plist.

enter image description here

Kiedy już to zrobisz możesz zadzwonić:

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

5

można wykorzystywać prywatne API to zrobić

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

Dziękuję bardzo! Działa na iOS 11 i nie wymaga znajomości schematu URL. – DmitryKanunnikoff

+0

Poza tym nie powinieneś nigdy używać prywatnych API. – ekscrypto

+0

@ekscrypto Ale myślę, że to jedyny sposób na dopasowanie wymagań. A tak przy okazji, z powodzeniem przesłaliśmy aplikację z tym kodem do AppStore. –

Powiązane problemy