Чтобы вы могли открыть свое приложение из другого, вам нужно будет внести изменения в оба приложения. Вот шаги с использованием Swift 3 с обновлением iOS 10 :
1. Зарегистрируйте ваше приложение, которое вы хотите открыть
Обновите Info.plist
, определив пользовательскую и уникальную схему URL вашего приложения.
Обратите внимание, что имя вашей схемы должно быть уникальным, в противном случае, если на вашем устройстве установлено другое приложение с таким же именем схемы URL, тогда будет определено время выполнения, которое будет открыто.
2. Включите предыдущую схему URL в ваше основное приложение
Вам нужно будет указать схему URL, которую вы хотите, чтобы приложение могло использовать с canOpenURL:
методом UIApplication
класса. Поэтому откройте главное приложение Info.plist
и добавьте схему URL другого приложения в LSApplicationQueriesSchemes
. (Представлено в iOS 9.0)
3. Выполните действие, которое открывает ваше приложение.
Теперь все настроено, так что вы можете написать свой код в основном приложении, которое открывает другое ваше приложение. Это должно выглядеть примерно так:
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.
}
Обратите внимание, что эти изменения требуют новой версии, если вы хотите, чтобы ваше существующее приложение (установленное из AppStore) открывалось. Если вы хотите открыть приложение, которое вы уже выпустили в Apple AppStore, то вам сначала нужно загрузить новую версию, которая включает регистрацию вашей схемы URL.