我有一个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视频link。另外,结帐universal-linking。