9. 解决 WKWebView 无法处理 URL Scheme 和 App Store 链接的问题
- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler {
NSURL *url = navigationAction.request.URL;
NSString *urlString = (url) ? url.absoluteString : @"";
// iTunes: App Store link
// 例如,微信的下载链接: https://itunes.apple.com/cn/app/id414478124?mt=8
if ([urlString containsString:@"//itunes.apple.com/"]) {
[[UIApplication sharedApplication] openURL:url];
decisionHandler(WKNavigationActionPolicyCancel);
return;
}
// Protocol/URL-Scheme without http(s)
else if (url.scheme && ![url.scheme hasPrefix:@"http"]) {
[[UIApplication sharedApplication] openURL:url];
decisionHandler(WKNavigationActionPolicyCancel);
return;
}
decisionHandler(WKNavigationActionPolicyAllow);
}Last updated
Was this helpful?