Запустите приложение из другого (iPhone) - PullRequest
162 голосов
/ 07 января 2009

Можно ли запустить любое произвольное приложение iPhone из другого приложения ?, Например, в моем приложении, если я хочу, чтобы пользователь нажал кнопку и запустился прямо в приложение "Телефон" текущее приложение, откройте приложение Телефон) .

это было бы возможно? Я знаю, что это можно сделать для телефонных звонков по телефонной ссылке, но я хочу вместо этого просто запустить приложение «Телефон» без набора какого-либо определенного номера.

Ответы [ 13 ]

2 голосов
/ 27 декабря 2011

Я тоже пытался это сделать некоторое время назад ( Запустить iPhone-приложение с идентификатором ), но определенно нет ДОКУМЕНТОВАННОГО способа сделать это. :)

1 голос
/ 19 июля 2018

В Swift 4.1 и Xcode 9.4.1

У меня есть два приложения: 1) PageViewControllerExample и 2) DelegateExample. Теперь я хочу открыть приложение DelegateExample с приложением PageViewControllerExample. Когда я нажимаю кнопку "Открыть" в PageViewControllerExample, открывается приложение DelegateExample.

Для этого нам нужно внести некоторые изменения в файлы .plist для обоих приложений.

Шаг 1

В приложении DelegateExample откройте файл .plist и добавьте типы URL и схемы URL. Здесь нам нужно добавить наше обязательное имя, например, «myapp».

enter image description here

Шаг 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
    }
}
0 голосов
/ 03 мая 2017

Swift 3, версия @ villy393 для быстрого и вставного ответа:

if UIApplication.shared.canOpenURL(openURL) {
    UIApplication.shared.openURL(openURL)
} else if UIApplication.shared.canOpenURL(installUrl) 
    UIApplication.shared.openURL(installUrl)
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...