在WKWebView中加载链接时,我如何知道外部应用程序是否会打开?



我有一个WKWebView,webview将加载一个像 https://qr.payme.hsbc.com/2/XXXXYYYZZZ 这样的链接。

加载链接时有两种可能的结果,
情况1是当用户安装了Payme应用程序时,将打开一个名为Payme的应用程序;
个案二是网页浏览会 https://payme.hsbc.com/用户没有安装Payme应用程式时被重定向至静态页面。

我的问题是我如何知道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视频链接。 另外,结帐通用链接。

最新更新