Я думаю, что вызывается оператор 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 Документация