美文网首页
应用间跳转

应用间跳转

作者: WeekDiffculty | 来源:发表于2016-09-09 15:33 被阅读0次

实现应用间的跳转

  • 从demo1到demo2,首先设置demo2 的 URL schme:
    设置路径 tagert -> info ->URL_types 设置自己的schme

  • 在demo1 中响应时间中设置

// 进行应用跳转 URL Scheme格式 : scheme:// 
[[UIApplication 
sharedApplication] openURL:[NSURL URLWithString:@"demo2://"]];
  • 点击屏幕响应时间,弹出提示,直接跳转

如果添加

 // 判断系统上是否安装该App if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"demo2://"]]) {
 // 如果安装 --> 跳转 // 进行应用跳转 URL Scheme格式 : scheme:// [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"demo2://"]]; 
}else{ 
// 如果未安装 --> 提示或到AppStore下载页等
 NSLog(@"未安装此应用..."); 
}

这时候发现无法实现跳转,是因为iOS进行应用跳转时,如果使用了canOpenURL进行判断,就需要设置白名单,只有设置了URL Scheme白名单,才有可能返回YES

  • 设置白名单
    -- 在info.plist 中对应的key: LSApplicationQueriesSchemes
<key>LSApplicationQueriesSchemes</key><array><!-- 目标应用 URL Scheme 白名单--><string>替换成目标app的URL Scheme</string></array>

补充:
1).因为URL Scheme并不是唯一的,一个app也可以对应多个URL Scheme,所以会存在URL Scheme劫持的隐患
2).为了防止应用轻易获取用户隐私(通过canOpenURL遍历应用列表,就知道了用户安装的app列表,就一定程度上了解了用户的隐私),所以iOS9开始加入了白名单的限制(白名单有个数限制,最多90条)

跳转并传递参数

// 2. URL Scheme格式 : scheme://参数 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"demo2://demo1"]];

url.absoluteString 取url 中的字符串

    • 使用应用转到另一个应用会调用一下方法,可以在此方法里做一些事情
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
 // 设置界面
 UITabBarController *tabBar = (UITabBarController *)self.window.rootViewController; tabBar.selectedIndex = 1; return YES;
}

相关文章

  • 应用程序间跳转

    应用程序间跳转 1. 什么是应用间跳转,有什么作用? 2. 应用程序间跳转实现? 直接打开对应APP的scheme...

  • 应用间跳转(Swift)

    一.应用跳转的介绍 1.应用间跳转即从一个应用程序跳转到另一个应用程序 2.应用间跳转的应用:1.应用推荐2.支付...

  • 应用程序间跳转和社交分享

    一. 应用程序间跳转 1. 什么是应用间跳转,有什么作用? 2. 应用程序间跳转实现? 直接打开对应APP的sch...

  • 应用间跳转

    iOS 9.0之后 应用程序跳转 需要设置白名单info.plist 增加 LSApplicationQueri...

  • 应用间跳转

    应用间跳转 应用场景使用第三方用户登录,需要用户授权,还需要“返回到调用的程序,同事返回授权的用户名”应用程序推广...

  • 应用间跳转

  • 应用间跳转

    本文简单介绍iOS应用程序互相跳转的方法 2.要打开本机上的其他应用程序,需要设置schemes,自定义的协议头,...

  • 应用间跳转

    实现应用间的跳转 从demo1到demo2,首先设置demo2 的 URL schme:设置路径 tagert -...

  • 应用间跳转

    // 1.获取到对应应用程序的URL NSURL *wechatURL = [NSURL URLWithStrin...

  • 11-UI补充(2)

    0813-应用跳转、社交分、享推送通知 应用跳转 要点(04-应用间跳转跳转到固定界面和返回应用程序) 流程:...

网友评论

      本文标题:应用间跳转

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