iOS应用跳转

作者: 十一遥 | 来源:发表于2018-03-06 10:26 被阅读64次

应用跳转是指,自己的app跳转到指定的app(如果用户安装了此app的话).

例1:AppA 跳转到AppB.
AppA需要做的是: 添加白名单,实现跳转方法
(1) 在info.plist添加白名单

(2) 实现跳转方法

    // 1.获取应用程序AppB的URL Scheme
    NSURL *appBUrl = [NSURL URLWithString:@"AppB://?AppA"];
    
    // 2.判断手机中是否安装了对应程序
    if ([[UIApplication sharedApplication] canOpenURL:appBUrl]) {
        // 3. 打开应用程序AppB
        [[UIApplication sharedApplication] openURL:appBUrl];
    } else {
       
        NSLog(@"没有安装AppB");
    }
AppB需要做的是: 设置自己的URL scheme, 在AppDelegate里实现跳转的方法

(1)设置自己的URL scheme

设置自己的URL scheme

(2)在AppDelegate里实现跳转的方法

//URL scheme
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{
    
    return YES;
}
例2:AppA 跳转到AppB指定界面.
AppA需要做的是: 添加白名单,实现跳转方法(实现的方法不同了)
    // 1.获取应用程序AppB的Page1页面的URL
    NSURL *appBUrl = [NSURL URLWithString:@"AppB://Page1?AppA"];
    
    // 2.判断手机中是否安装了对应程序
    if ([[UIApplication sharedApplication] canOpenURL:appBUrl]) {
        
        // 3. 打开应用程序AppB的Page1页面
        [[UIApplication sharedApplication] openURL:appBUrl];
    } else {
        
        NSLog(@"没有安装");
    }
AppB需要做的是: 设置自己的URL scheme, 在AppDelegate里实现跳转的方法,在方法中实现指定界面跳转
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    // 1.获取导航栏控制器
    UINavigationController *rootNav = (UINavigationController *)self.window.rootViewController;
  
    // 2.获得主控制器
    ViewController *mainVc = [rootNav.childViewControllers firstObject];
    
    // 保存完整的App-A的URL给主控制器
    mainVc.urlString = url.absoluteString;
    
    // 3.每次跳转前必须是在跟控制器
    [rootNav popToRootViewControllerAnimated:NO];
    
    // 4.根据字符串关键字来跳转到不同页面
    if ([url.absoluteString containsString:@"Page1"]) { // 跳转到应用AppB的Page1页面
       
        //弹出方式取决于界面类型
        //[mainVc.navigationController pushViewController:[[Page1Controller alloc]init] animated:NO];
        [mainVc presentViewController:[[Page1Controller alloc]init] animated:NO completion:nil];
    }
    
    return YES;
}

相关文章

  • iOS应用跳转到appstore评分

    iOS应用跳转到appstore评分 标签(空格分隔): IOS 跳转到应用评价页 跳转到应用详情页 appid是...

  • iOS应用内跳转到系统设置页面

    iOS应用内跳转到系统设置页面 iOS应用内跳转到系统设置页面

  • OpenUrl

    iOS-使用URL Schemes,进行应用之间跳转iOS - JLRoutes路由跳转官方文档JLRoutes ...

  • 应用之间的跳转和数据传递

    iOS开发拓展篇—应用之间的跳转和数据传递 IOS APP之间跳转通讯 应用之间调用 UIApplication类...

  • IOS 页面切换

    写ios应用的页面切换不比写网页容易,网页应用可通过路由控制页面的跳转,而 ios 应用没有路由概念,所以页面跳转...

  • 俩个应用间的循环跳转

    应用跳转是根据协议头跳转 A跳转B,需要B增加URL Types ,A应用根据URL的协议头跳转 iOS8之前的跳...

  • 获取plist中的URL Schemes

    最近在写的项目中涉及到了应用间的跳转实现,iOS实现跳转应用是通过 openURL:方法; 此时遇到多个应用跳转到...

  • iOS应用内跳转到系统设置页面

    目前主要适配 IOS 8.0以后系统 当 iOS系统版本 >= iOS8,支持跳转到自己应用设置,不支持跳转到系统...

  • iOS打开应用的设置界面

    iOS8 + 应用如果请求过权限,就会在跳转到应用的设置界面.否则跳转到手机的设置界面 .

  • iOS应用跳转

    应用跳转是指,自己的app跳转到指定的app(如果用户安装了此app的话). 例1:AppA 跳转到AppB. A...

网友评论

    本文标题:iOS应用跳转

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