根據(jù)項(xiàng)目需求,要求在APP中打開一個(gè)UIWebView
頁面押赊,頁面中有一個(gè)廣告,點(diǎn)擊需要跳轉(zhuǎn)至淘寶詳情頁面伊群,沒有安裝淘寶則繼續(xù)在UIWebView
中打開詳情考杉;
先配置工程,需要可以打開淘寶APP
具體實(shí)現(xiàn)方法舰始,需要在info.plist文件中崇棠,新增LSApplicationQueriesSchemes
為Array
類型,然后在這個(gè)類型下面新增一個(gè)item
為String
類型丸卷,值設(shè)置為taobao
枕稀,(發(fā)現(xiàn)在iOS8上面不需要配置也可以打開,iOS11就不行谜嫉,可能是蘋果為了安全性有所攔截)萎坷。配置效果如下圖:
image.png
在UIWebView的代理方法中實(shí)現(xiàn)如下代碼,方可打開淘寶APP
- (BOOL)webView:(UIWebView *)awebView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType
{
//跳轉(zhuǎn)至淘寶
NSString *urlStr = [NSString stringWithFormat:@"%@", request.URL];
//如果需要請求的URL中包含`item.taobao.com`
if ([urlStr rangeOfString:@"item.taobao.com"].location != NSNotFound) {
//需要拼接跳轉(zhuǎn)的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時(shí)沐兰,在自己APP中就不進(jìn)入詳情頁面
return NO;
}
}
return YES;
}
為了方便測試哆档,在此提供一個(gè)淘寶詳情鏈接:(只可用于測試)
https://item.taobao.com/item.htm?spm=0.7095261.0.0.6e491674SSs7xQ&id=562238292763