iOS初学之OCiOS Swift && Objective-CiOS Developer

应用之间跳转进行传值

2017-06-01  本文已影响36人  CharlesAn

项目的新需求是两个应用之间进行跳转,并进行传值。ios9以后苹果官方引入了白名单的概念,即应用 A跳转到应用B,我们必须在应用B的url schmes加入的应用A的白名单才能完成授权跳转

1.设置应用A的url schemes


这里写图片描述

2.设置应用B的url schemes


这里写图片描述

3.在应用A的plist文件中,添加应用B的url schemes到A的白名单中LSApplicationQueriesSchemes


这里写图片描述

4.进行跳转操作

 //toolBody为应用B的url schemes,后面可以拼接你要传给应用B的数据
 NSURL *url = [NSURL URLWithString:@"toolBody://"];
 //NSURL *url = [NSURL URLWithString:@"toolBody://friend"];
    if ([[UIApplication sharedApplication] canOpenURL:url]) {
        
        [[UIApplication sharedApplication] openURL:url];
    }
    

5.在应用B中拿到应用A传递的数据

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
    
    //将url转为字符串
    NSString * urlString = url.absoluteString;
    //判断是通过什么跳转过来的
    if ([urlString containsString:@"friend"]) {
       
      //在这进行数据的操作
    }
    return YES;
}
上一篇下一篇

猜你喜欢

热点阅读