iOS 两个app之间的跳转

程序A跳转到程序B

1. 打开程序B的info.plist文件添加URL types 展开Item0 下面的identifier 修改URL Scheme 为 ELearningApp (这个是跳转所需要的key)

2. 设置A的白名单

    在info.plist中添加LSApplicationQueriesSchemes的数组,其中有含有一个string类型的数据,即为你要跳转的另外一个B的url,我们要从A跳转到B,我们把B的url设置为ELearningApp,所以这里程序A要写入B的url-----“ELearningAppr”

程序A中按钮事件的跳转代码

- (void)buttonTojump:(UIButton *)btn
{
    NSURL *app_A = [NSURL URLWithString:@"ELearningApp://parameters"];//ELearningApp为目标App的key,parameters 需要传递的一些参数
    if ([[UIApplication sharedApplication] canOpenURL:app_A]) {
        NSLog(@"canOpenURL");
        [[UIApplication sharedApplication] openURL:app_A];
    }else{
        NSLog(@"应用程序未安装");
    }
}

程序A中按钮事件跳转Appstore  [将 https:// 替换为 itms:// 或者 itms-apps://:]

- (void)buttonTojump:(UIButton *)btn
{
    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"itms://itunes.apple.com/cn/app/bai-du-wen-kuhd/id483064532?mt=8"]];
//    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"itunes.apple.com/cn/app/bai-du-wen-kuhd/id483064532?mt=8"]];
}

程序B中Appdelegate的跳转代码

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{

    if (!url) {
        return NO;
    }else{
        if ([[url scheme] isEqualToString:@"ELearningApp"]) {
            DLog(@"从%@跳转过来的 - %@",sourceApplication,[url resourceSpecifier]);
            NSString *str = [[[url resourceSpecifier]componentsSeparatedByString:@"//"]objectAtIndex:1
                             ];
            DLog(@"传递过来的参数 = %@",str);
        
            [UserDefaultsUtils saveValue:str forKey:@"parameter"];
            _isEducation = YES;
            UIStoryboard *storyBoard = [UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];
            //勾选自动登录
            UIViewController *startDao = [storyBoard instantiateViewControllerWithIdentifier:@"AutoLoginViewController"];
            self.window.rootViewController = startDao;
            
            return YES;
        }else{
            return NO;
        }
        
    }

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值