Aby umożliwić otwieranie aplikacji z innej aplikacji, musisz wprowadzić zmiany w obu aplikacjach. Oto kroki przy użyciu Swift 3 z aktualizacją iOS 10 :
1. Zarejestruj aplikację, którą chcesz otworzyć
Zaktualizuj Info.plist
, definiując niestandardowy i niepowtarzalny schemat adresu URL aplikacji.
Zauważ, że nazwa twojego schematu powinna być unikalna, w przeciwnym razie, jeśli masz inną aplikację z tą samą nazwą schematu URL zainstalowaną na twoim urządzeniu, zostanie to określone w czasie wykonywania, który zostanie otwarty.
2. Uwzględnij poprzedni schemat adresów URL w głównej aplikacji
Musisz określić schemat adresu URL, którego aplikacja ma używać z canOpenURL:
metodą UIApplication
klasy. Otwórz więc główną aplikację Info.plist
i dodaj schemat adresu URL drugiej aplikacji do LSApplicationQueriesSchemes
. (Wprowadzone w iOS 9.0)
3. Zaimplementuj akcję, która otwiera Twoją aplikację
Teraz wszystko jest skonfigurowane, więc dobrze jest napisać kod w głównej aplikacji, która otwiera drugą aplikację. Powinno to wyglądać mniej więcej tak:
let appURLScheme = "MyAppToOpen://"
guard let appURL = URL(string: appURLScheme) else {
return
}
if UIApplication.shared.canOpenURL(appURL) {
if #available(iOS 10.0, *) {
UIApplication.shared.open(appURL)
}
else {
UIApplication.shared.openURL(appURL)
}
}
else {
// Here you can handle the case when your other application cannot be opened for any reason.
}
Pamiętaj, że te zmiany wymagają nowej wersji, jeśli chcesz, aby Twoja istniejąca aplikacja (zainstalowana z AppStore) została otwarta. Jeśli chcesz otworzyć aplikację, którą już opublikowałeś w Apple AppStore, musisz najpierw przesłać nową wersję, która zawiera rejestrację schematu adresu URL.