和其他公司合作,需求是,他们给一个链接,如果用户已安装过他们APP,直接打开;若没安装过,跳转到App Store下载。
直接用WKWebView的代理方法来拦截
核心代码: [[UIApplication sharedApplication] openURL:URL];
#pragma mark - WKNavigationDelegate
// 拦截点击url
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
// 拦截跳转原生app
NSURL *URL = navigationAction.request.URL;
// 跳转到下载地址的链接
if ([[URL host] isEqualToString:@"itunes.apple.com"]) {
[[UIApplication sharedApplication] openURL:URL];
decisionHandler(WKNavigationActionPolicyCancel);
return;
}