swift - приложение не открывается из другого приложения - PullRequest
0 голосов
/ 07 апреля 2020

Я пытаюсь открыть приложение Uber из своего приложения. Он перенаправляет меня прямо в магазин приложений, а не в приложение. Я бы хотел, чтобы приложение Uber открывалось напрямую, а не через приложение appstore. Вот моя функция:

func callUrl(){
    if let url = NSURL(string: "Uber://"), UIApplication.shared.canOpenURL(url as URL) {
        UIApplication.shared.open(url as URL)
    } else if let itunesUrl = NSURL(string: "https://apps.apple.com/us/app/uber/id368677368"), UIApplication.shared.canOpenURL(itunesUrl as URL) {
        UIApplication.shared.open(itunesUrl as URL)
    }
}

1 Ответ

1 голос
/ 07 апреля 2020

Я думаю, что вызывается оператор else, потому что, возможно, "Uber://" является недопустимым ключом для непосредственного открытия приложения.

Может быть, это будет работать для вас

if let url = URL(string: "uber://"),
    UIApplication.shared.canOpenURL(url) {

    UIApplication.shared.open(url)
}
else {
    UIApplication.shared.open(URL(string: "https://apps.apple.com/us/app/uber/id368677368")!)
}

РЕДАКТИРОВАТЬ

Добавить LSApplicationQueriesSchemes ключ к Info.plist с uber значение

<key>LSApplicationQueriesSchemes</key>
<array>
    <string>uber</string>
</array>

Uber Документация

...