Как я могу узнать, будет ли открываться внешнее приложение при загрузке ссылки в WKWebView?
У меня есть WKWebView, веб-просмотр загрузит ссылку вроде https://qr.payme.hsbc.com/2/XXXXYYYZZZ.
И есть два возможных результата при загрузке ссылки:
случай 1 - приложение под названием Payme будет открыто, когда пользователь установит приложение Payme;
случай 2 - веб-просмотр будет перенаправлен на статическую страницу https://payme.hsbc.com/, если пользователь не установил приложение Payme.
У меня вопрос: как узнать, открыто ли приложение Payme?
1 ответ
Вы могли бы использовать deep linking
или яблоко рекомендуется universal linking
чтобы проверить, установлено ли приложение на устройстве. С участиемdeep linking
вам нужно получить схему приложения, которое оно уже добавило. И вы можете проверить, можно ли открыть схему так же, как и для любого другого типа URL. Вот пример:
let appSchemeString = "com.myAppScheme://"
let url = URL(string: appSchemeString)!
if UIApplication.shared.canOpenURL(url) {
print("App is present")
} else {
print("App is not")
}
Вам нужно обновить свой info.plist
файл, чтобы включить схемы, которые вы будете открывать в приложении. Вы должны добавить это:
<key>LSApplicationQueriesSchemes</key>
<array>
<string>com.myAppScheme</string>
</array>
Вот ссылка на видео на YouTube. Также касса универсально-перелинковки.