美文网首页
iOS开发:在UIWebView中点击广告跳转至淘宝APP详情页

iOS开发:在UIWebView中点击广告跳转至淘宝APP详情页

作者: First灬DKS | 来源:发表于2017-12-04 18:49 被阅读614次

根据项目需求,要求在APP中打开一个UIWebView页面,页面中有一个广告,点击需要跳转至淘宝详情页面,没有安装淘宝则继续在UIWebView中打开详情;

先配置工程,需要可以打开淘宝APP

具体实现方法,需要在info.plist文件中,新增LSApplicationQueriesSchemesArray类型,然后在这个类型下面新增一个itemString类型,值设置为taobao,(发现在iOS8上面不需要配置也可以打开,iOS11就不行,可能是苹果为了安全性有所拦截)。配置效果如下图:

image.png

在UIWebView的代理方法中实现如下代码,方可打开淘宝APP

- (BOOL)webView:(UIWebView *)awebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
    //跳转至淘宝
    NSString *urlStr = [NSString stringWithFormat:@"%@", request.URL];
    //如果需要请求的URL中包含`item.taobao.com`
    if ([urlStr rangeOfString:@"item.taobao.com"].location != NSNotFound) {
          //需要拼接跳转的URL
        NSString *itemId = [urlStr componentsSeparatedByString:@"?"].lastObject;
        NSString *url = [NSString stringWithFormat:@"taobao://item.taobao.com/item.htm?%@",itemId];
        //如果安装了淘宝APP
        if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:url]]) {
            [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
            //return NO表示在可以打开淘宝APP时,在自己APP中就不进入详情页面
            return NO;
        }
    }
    return YES;
}

为了方便测试,在此提供一个淘宝详情链接:(只可用于测试)

https://item.taobao.com/item.htm?spm=0.7095261.0.0.6e491674SSs7xQ&id=562238292763

希望对看到的你有所帮助!!!😁

相关文章

网友评论

      本文标题:iOS开发:在UIWebView中点击广告跳转至淘宝APP详情页

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