首页 > 代码库 > IOS应用之间跳转

IOS应用之间跳转

  我讨论一下,在iOS开中,如何实现从app1打开app2。

    基本的思路就是,可以app2定一个URL,在app1中通打开个URL来打开app2,在此程中,可以传送一些参数。下面来讨论一下具体的实现过程。

    1. 在app2的info.plist中定义URL,就是在文件中添加URL types一项。可按下图进行添加。


    2. 在app1的代码中打开刚才定义的URL,代码如下:

[cpp] view plaincopy
  1. NSURL *url = [NSURL URLWithString:@"myapp://test?para1=1?2=2"];  
  2. if ([ourApplication canOpenURL:ourURL]) {//检测已经安装

  3. [[UIApplication sharedApplication] openURL:url];  

     当然,这个URL的形式可以是其他形式的,只要以"myapp://"开始即可。

    这样,就可以在app1中打开app2.

    打开之后,会调用app2的AppDelegate的

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    if ([[url host] isEqualToString:@"com.taobao.dgb"])
{
NSLog(@"------%@----%@",[url host],[url query]);
        NSString *viewId = [[url query] substringFromIndex:[[url query] rangeOfString:@"viewId="].location + 7];
        if ([viewId isEqualToString:@"letters"]){
        }
    }
    return YES;
}



由于URL是自己定的,所以会存在URL重复的情况。经过测试发现,如果试图打开个URL,那么会打开先安装的那个用。

IOS应用之间跳转