В Swift 4.1 и Xcode 9.4.1
У меня есть два приложения: 1) PageViewControllerExample и 2) DelegateExample. Теперь я хочу открыть приложение DelegateExample с приложением PageViewControllerExample. Когда я нажимаю кнопку "Открыть" в PageViewControllerExample, открывается приложение DelegateExample.
Для этого нам нужно внести некоторые изменения в файлы .plist для обоих приложений.
Шаг 1
В приложении DelegateExample откройте файл .plist и добавьте типы URL и схемы URL. Здесь нам нужно добавить наше обязательное имя, например, «myapp».
Шаг 2
В приложении PageViewControllerExample откройте файл .plist и добавьте этот код
<key>LSApplicationQueriesSchemes</key>
<array>
<string>myapp</string>
</array>
Теперь мы можем открыть приложение DelegateExample, когда нажмем кнопку в PageViewControllerExample.
//In PageViewControllerExample create IBAction
@IBAction func openapp(_ sender: UIButton) {
let customURL = URL(string: "myapp://")
if UIApplication.shared.canOpenURL(customURL!) {
//let systemVersion = UIDevice.current.systemVersion//Get OS version
//if Double(systemVersion)! >= 10.0 {//10 or above versions
//print(systemVersion)
//UIApplication.shared.open(customURL!, options: [:], completionHandler: nil)
//} else {
//UIApplication.shared.openURL(customURL!)
//}
//OR
if #available(iOS 10.0, *) {
UIApplication.shared.open(customURL!, options: [:], completionHandler: nil)
} else {
UIApplication.shared.openURL(customURL!)
}
} else {
//Print alert here
}
}