IOS应用之间跳转

   实现 IOS应用 之间跳转: 

     例子 从网易新闻应用跳入微信 进行朋友圈分享 然后在返回网易新闻

1. 微信中添加 协议头

IOS应用之间跳转_第1张图片


2.  网易新闻中通过 协议头找 微信

NSURL* weixing= [NSURL URLWithString:@"weixing://session?news"];

    if([[UIApplication sharedApplication canOpenURL:weixing]){

        [[UIApplication sharedApplication] openURL:weixing options:@{} completionHandler:nil];

    }

3.  IOS9.0以后,必须把 微信协议头添加到 网易的白名单中:  在info.plit中配置LSApplicationQueriesSchemes
 IOS应用之间跳转_第2张图片


 4. 微信获取以后可以UiApplication中获取以后可以根据 请求参数调转不同的控制器

-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options{

    // 可以通过导航空气器跳转指定控制器

    UINavigationController* navcontroller=(UINavigationController*) self.window.rootViewController;

    // 取出viewcontroller 可以通过

    // 连线 然后 performSegueWidthINdentifier:@"seeesion"来跳转

    UIViewController* vewcontroller=[navcontroller.childViewControllers firstObject];

    

    

    NSString* urlStr= url.absoluteString;

    if([urlStr rangeOfString:@"session"].length){

        

        NSRange range= [urlStr rangeOfString:@"?"];

    

        

        NSString*  fanghuiUrl= [urlStr substringFromIndex:range.location+1];

        NSLog(@"fanghuiUrl:%@",fanghuiUrl);   // 把返回的url news保存起来

           NSUserDefaults * userDefaults = [NSUserDefaults standardUserDefaults];

        

        [userDefaults setObject:fanghuiUrl forKey:@"fanghuiurl"];

        [userDefaults synchronize];

        NSLog(@"%@",NSHomeDirectory());

        NSLog(@"%@",@"这里是分享控制器");

    }

 

    return YES;

}


5.  微信分享成功,返回 网易新闻, 协议头和白名单配置照常

 NSUserDefaults* userDefault= [NSUserDefaults standardUserDefaults];

    _result= [userDefault objectForKey:@"fanghuiurl"];

    NSString* result2= [_result stringByAppendingString:@"://"];

    NSLog(@"返回的结果是result2:%@",result2);

    NSURL* weixing= [NSURL URLWithString:result2];

    

    if([[UIApplication sharedApplication canOpenURL:weixing]){

        [[UIApplication sharedApplication] openURL:weixing options:@{} completionHandler:nil];


    }






 

你可能感兴趣的:(IOS应用之间跳转)