美文网首页
应用程序间跳转

应用程序间跳转

作者: 翻这个墙 | 来源:发表于2017-11-23 11:26 被阅读58次

    应用程序间跳转

    1. 什么是应用间跳转,有什么作用?

        - 应用场景
            1. 使用第三方用户登录,需要用户授权,还需要"返回到调用的程序,同时返回授权的用户名"
            2. 应用程序推广,网易彩票,设置-推荐应用-有很多应用程序图标如果本机已经安装过,会直接跳转到另外一个应用程序, 软件的广告,推广结果,后续会有一些列的金钱上的结算
            3. 支付宝,第三方支付,淘宝,电话费充值。。。
    

    2. 应用程序间跳转实现?

    直接打开对应APP的scheme即可

    1. 概念须知

       > URL : 统一资源定位符
           scheme(协议头) : 决定通过什么方式查找资源 http:// ftp:// tel:// file://
           path(路径) : 资源路径 www.baidu.com 192.168.1.1/资源 110 /User/Desktop
      
    2. 设置方式

       > 默认情况下应用程序是没有自己的URL的,如果想要拥有自己的URL,需要设置URL
           项目 -> info -> URL Types -> URL Scheme
      
    3. 打开方式

      // 跳转到其他应用程序
      // 打电话 tel://  发短信: sms:// 发邮件  mailTo://10086 打开网址http://
      // schemes: 网易的scheme wangyi
      NSURL *url = [NSURL URLWithString:@"wangyi://view?newsid=201410130001"];
      //        url.scheme // 路径的scheme
      //        url.host  // 主机地址
      //        url.path // 资源文件路径
      //        url.query // 请求参数
      
      // 判断本机是否安装了目标程序
      if ([[UIApplication sharedApplication] canOpenURL:url]) {
          [[UIApplication sharedApplication] openURL:url];
      } else {
          NSLog(@"没有安装,可以再给定下载地址,前往");
      }
      
    4. 跳转到对方APP, 对方APP执行的代理方法

      /** 只要是由其他应用程序打开的,就会调用此方法 */
      /** URL 就是其他应用程序,打开当前程序使用的URL */
      - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
      
      /**
       openURL 是打开当前应用程序的url
       sourceApplication 是当开当前应用程序的源程序的BundleId
      
       提示:一旦重写了新方法,旧方法就不再被执行
       但是:很多第三方框架,都建议两个方法全都写
       */
      - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
      
    5. iOS9.0跳转适配

       在info.plist文件中添加LSApplicationQueriesSchemes字段 ,是数组类型
      
    6. 跳回原程序代码

       <!--// iOS9.0以前, 直接通过以下的代码, 就可以打开对应的APP-->
       <!--// 在iOS9.0之后, 一定要加一个白名单, 代表, 当前APP可以跳转到哪些APP-->
      


































    相关文章

      网友评论

          本文标题:应用程序间跳转

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