我有一个 WKWebView,webview 将加载类似https://qr.payme.hsbc.com/2/XXXXYYYZZZ的链接。
加载链接时有两种可能的结果,
案例1是用户安装了Payme应用后会打开一个名为Payme的应用;案例 2 是当用户没有安装 Payme 应用程序时
,webview 将被重定向到静态页面https://payme.hsbc.com/ 。
我的问题是如何知道 Payme 应用程序是否已打开?
我有一个 WKWebView,webview 将加载类似https://qr.payme.hsbc.com/2/XXXXYYYZZZ的链接。
加载链接时有两种可能的结果,
案例1是用户安装了Payme应用后会打开一个名为Payme的应用;案例 2 是当用户没有安装 Payme 应用程序时
,webview 将被重定向到静态页面https://payme.hsbc.com/ 。
我的问题是如何知道 Payme 应用程序是否已打开?
您可以使用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 视频链接。此外,结帐Universal-linking。