关于iOS app之间相互调用

来源:互联网 发布:java简单超市管理系统 编辑:程序博客网 时间:2024/04/30 11:25

待有时间整理

还是复制咱贴吧


显示连接 :http://blog.csdn.net/xcysuccess3/article/details/38757837


之后是

  我讨论一下,在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的

[cpp] view plaincopy在CODE上查看代码片派生到我的代码片
  1. - (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {  
  2.     if ([[url host] isEqualToString:@"com.taobao.dgb"])  
  3. {  
  4. NSLog(@"------%@----%@",[url host],[url query]);  
  5.         NSString *viewId = [[url query] substringFromIndex:[[url query] rangeOfString:@"viewId="].location + 7];  
  6.         if ([viewId isEqualToString:@"letters"]){  
  7.         }  
  8.     }  
  9.     return YES;  
  10. }  



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



测试是可以实现的


0 0