当前位置:   article > 正文

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

应用内拉起appstore下载

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


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

       然后通过

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

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

       下面我们看第二种方式。



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

    应用场景举例:

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

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


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


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

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

      

  1. #pragma mark - 应用跳转专用
  2. /**
  3. * url是否是跳转APP类型的
  4. *
  5. * @param URL
  6. *
  7. * @return BOOL
  8. */
  9. - (BOOL)isJumpToExternalAppWithURL:(NSURL *)URL{
  10. NSSet *validSchemes = [NSSet setWithArray:@[@"http", @"https"]];
  11. return ![validSchemes containsObject:URL.scheme];
  12. }

      1.OC中UIWebView

     

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

   2.OC中WKWebView

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

  3. Swift3.0种WKWebView

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



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


如果你喜欢这篇文章,或者有任何疑问,可以扫描第一个二维码,加楼主好友哦

也可以扫第二个二维码,关注楼主个人微信公众号。这里有很多生活,职业,技术相关的文章哦。欢迎您的到来。

微信号:                                             公众号


声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/420897
推荐阅读
相关标签
  

闽ICP备14008679号