iOS应用间的跳转和传值

 在第一个应用程序中info.plist设置

 

 

 URL Identifier: 该字符串是你自定义的 URL scheme 的名字

注意: URL Schemes 是一个数组,允许应用定义多个 URL schemes。 

补:查看key

 

 效果:

 

 调用字符串():iOSApp://(你的应用的URL scheme 的名字+:// )可直接在浏览器调用

 代码调用;

 

 NSString *customURL = @"iOSApp://";
    
    if ([[UIApplication sharedApplication]
         canOpenURL:[NSURL URLWithString:customURL]])
    {
        [[UIApplication sharedApplication] openURL:[NSURL URLWithString:customURL]];
    }

 

程序切换时参数的传递 (第一个应用程序AppDelegate中)

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

 

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    NSLog(@"Calling Application Bundle ID: %@", sourceApplication);
    NSLog(@"URL scheme:%@", [url scheme]);
    NSLog(@"URL query: %@", [url query]);
    
    return YES;
}

第二个应用程序中:iOSApp://后加上字符串就行了

 

  NSString *customURL = @"iOSApp://?token=123abct&registered=1";

 

 注意 “Calling Application Bundle ID”,你可以用这个来确保只有你定义的应用可以与你的应用直接交互。

posted @ 2015-06-04 18:02  幻想无极  阅读(471)  评论(0编辑  收藏  举报