美文网首页
WKWebView打开itunes链接无法跳转至AppStore

WKWebView打开itunes链接无法跳转至AppStore

作者: 戴面具的搬运工 | 来源:发表于2017-06-21 17:06 被阅读0次

    在UIWebView上,不需要特殊处理直接加载 itunes 链接是可以直接跳转至AppStore的。

    NSURL*URL =[NSURLURLWithString:@"https://itunes.apple.com/cn/app/id1013277346?mt=8"];

    NSURLRequest*request = [NSURLRequestrequestWithURL:URL];

    self.webView = [UIWebViewnew];

    self.webView.delegate =self;

    [self.webView loadRequest:request];

    但是,在WKWebView上则不行,需要在navigationDelegate中拦截,手动openURL才能跳转至AppStore。

    - (void)loadWithWKWebView{

    NSURL*URL = [NSURLURLWithString:@"https://itunes.apple.com/cn/app/id1013277346?mt=8"];

    NSURLRequest*request = [NSURLRequestrequestWithURL:URL];

    self.wkWebView = [WKWebViewnew];

    self.wkWebView.navigationDelegate =self;

    [self.wkWebView loadRequest:request];

    }

    - (void)webView:(WKWebView*)webView decidePolicyForNavigationAction:(WKNavigationAction*)navigationAction decisionHandler:(void(^)(WKNavigationActionPolicy))decisionHandler{

       WKNavigationActionPolicypolicy =WKNavigationActionPolicyAllow;

        /* 简单判断host,真实App代码中,需要更精确判断itunes链接 */

         if([[navigationAction.request.URL host] isEqualToString:@"itunes.apple.com"] &&

       [[UIApplicationsharedApplication] openURL:navigationAction.request.URL]){

        policy =WKNavigationActionPolicyCancel;}

       decisionHandler(policy);

    }

    难以理解为啥WKWebView上不支持跳转至AppStore。

    如果不处理,普通网页上链接至itunes的,点击后都无法跳转了。

    WKWebView里面的链接要特殊处理,90一下的系统加载本地文件也是有问题的,我有空写篇博客落,还是蛮多坑的

    相关文章

      网友评论

          本文标题:WKWebView打开itunes链接无法跳转至AppStore

          本文链接:https://www.haomeiwen.com/subject/mujtcxtx.html