在IOS中,实现一个应用启动另外一个应用,使用UIApplication的openURL:方法就可实现,这里以test跳到test02为例。(需要先创建这两个工程)

注册自定义URL协议(在test中)

  首先被启动的应用需要向iPhone注册一个自定义URL协议。这是在info.plist文件进行的。

  1. 右键,选择“Add Row”
  2. Key值选择“URL types”
  3. 打开“Item 0″,然后为该key增加一个URL identifier。可以是任何值,但建议用“反域名”(例如 “com.fcplayer.test”)。
  4. 在“Item 0”下再加一行。
  5. 选择“URL Schemes” 作为Key。
  6. 输入你的URL协议名 (例如“test://” 应写做“test”)。如果有必要,你可以在这里加入多个协议。
  操作截图如下:

  

访问自定义URL(在test02中)  在主应用程序中通过访问自定义URL启动另外一个应用:(test已经安装,这段代码要写在另一个应用里面,比如test02)

  //放在需要的地方,调用即可
  NSURL * urlStr = [NSURL URLWithString:@"test://x=100"];//后面为参数
  if ([[UIApplication sharedApplication] canOpenURL:urlStr]) {
      NSLog(@"can go to test");
      [[UIApplication sharedApplication] openURL:urlStr];
  }else{
      NSLog(@"can not go to test!!!!!");
  }

自定义处理URL(在test中)  有些时候我们除了启动还需向另外一个应用发送参数,这是也可以通过自定义的URL来实现,如:

  test://
  test://com.company.test
  test://config=1&abar=2

  这时我们在被启动应用中就必须进行自定义处理,在delegate中实现该消息(Cocos2d加在AppDelegate中),例如:

  - (BOOL)application:(UIApplication *)applicationhandleOpenURL:(NSURL*)url { // Do something withthe url here }
  通常,我们会从参数中解析出URL以便在视图中显示或者存储到UserPreference。下面的例子把URL存储为User Preference的url变量中或者打印出来:

  -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
  {
      if (!url) {  return NO; }
      NSString *URLString = [url absoluteString];
      NSLog(@"%@",URLString);
      //[[NSUserDefaults standardUserDefaults] setObject:URLString forKey:@"url"];
      //[[NSUserDefaults standardUserDefaults] synchronize];
      return YES;
  }

最新文章

  1. js数组学习整理
  2. 在使用Intelligencia.UrlRewriter过程中 中文乱码问题
  3. Scala中Iterator允许执行一次
  4. C#如何调用COM
  5. [Linux] Chang DNS Setting on Linux
  6. ImageMagick之PDF转换成图片(image)
  7. 后台获取不规则排列RadioButton组的值
  8. Linux下如何卸载HP_LoadGenerator
  9. AndroidStudio Gradle版本不匹配问题
  10. 三种C#.net生成静态页面的方法
  11. 【Demo 0016】SQLite 数据库
  12. 记录——时间轮定时器(lua 实现)
  13. 微信小程序组件学习中
  14. No Directionality widget found.错误记录。
  15. vim的几个常用操作
  16. Nginx range filter模块数字错误漏洞修复 (Nginx平滑升级) 【转】
  17. JS获取本周、本季度、本月、上月的开始日期、结束日期
  18. POI中文API文档
  19. HDU 1166 - 敌兵布阵 - [线段树][树状数组]
  20. ubuntu搭建discuz论坛

热门文章

  1. web设计经验<六>令网站看起来不专业的10个设计误区
  2. linux2.6内核compat_ioctl函数
  3. 百度编辑器Ueditor的简单调用
  4. 分享几个Javascript 封装方法
  5. Hostapd
  6. 使用kaptcha生成验证码
  7. Spring MVC 之请求处理方法可接收参数(三)
  8. Python核心编程-细节
  9. OpenCV3编程入门笔记(1)图像载入、显示、保存、变换灰度图
  10. Call requires API level 3 (current min is 1)