iOS通过链接,应用内打开APP或者跳转APPStore对应下载

来源:互联网 发布:手机淘宝网退款流程 编辑:程序博客网 时间:2024/04/28 19:43

开文:很急着实现的话,请按照最后一句话操作。


一:有一种是替换协议头,即是将 http:// 替换为 itms:// 或者 itms-apps://

       然后通过

       [[UIApplicationsharedApplication] openURL: itms:// 或者 itms-apps://后面跟上一堆];

       但是这种应用场景比较有限制,要跳转的app是我们已知道的,需要提前设置好,不智能

       下面我们看第二种方式。



二:判断url是否是跳转APP类型的,专门处理下就行了。

    应用场景举例:

     1. 电商应用,或者用户留存大的应用,想接个淘宝推广的app,那么用户在操作的时候,客户端是希望点击某个具          体应用           是,能够直接跳到淘宝对应的商品详情页,直接购买了,操作岂不是很简单

         1).如果安装了淘宝,自动跳转淘宝。不安装,直接网页购买。


      2.金融项目。各种拉皮条,今天给一个app加个入口,比如是证券,基金,贷款等。想通过网页点击下载,跳转到appStore去下载            对应的产品。那么你前提是不知道是哪个项目的,那么如何通过智能的网页,就能跳转呢。


三:处理办法,下面将OC中UIWebView,WKWebView 以及Swift3.0种WKWebView中将如何设置

      首先贴上一个重要的判断方法:

      

#pragma mark - 应用跳转专用/** *  url是否是跳转APP类型的 * *  @param URL * *  @return BOOL */- (BOOL)isJumpToExternalAppWithURL:(NSURL *)URL{    NSSet *validSchemes = [NSSet setWithArray:@[@"http", @"https"]];    return ![validSchemes containsObject:URL.scheme];}

      1.OC中UIWebView

     

#pragma mark - UIWebViewDelegate- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType{      if([self isJumpToExternalAppWithURL:request.URL]) {        [[UIApplication sharedApplication] openURL:request.URL];        return NO;    }    return YES;}

   2.OC中WKWebView

#pragma mark - WKNavigationDelegate- (void)webView:(WKWebView *)webView decidePolicyForNavigationAction:(WKNavigationAction *)navigationAction decisionHandler:(void (^)(WKNavigationActionPolicy))decisionHandler{    if([self isJumpToExternalAppWithURL:navigationAction.request.URL]) {        [[UIApplication sharedApplication] openURL:navigationAction.request.URL];        decisionHandler(WKNavigationActionPolicyAllow);    }    decisionHandler(WKNavigationActionPolicyAllow);}

  3.Swift3.0种WKWebView

    暂时还没具体设置,回头有了再补。。有需要的根据OC类比试试就行了。。



四:如果你一脸懵逼的看着,为啥一个方法就能搞定那么多事,还有很多乱七八糟的写了那么多。。。那么我告诉你,不要慌,不要急,复制那个判断 url是否是跳转APP类型的方法,然后在对应代理方法实现下,然后神奇的事情就出现了。想要的都有了。


阅读全文
0 0
原创粉丝点击