iOS 一个app跳转另一个app并实现通信(如A跳到B并打开B中指定页面)
2015-12-16 11:14
1381 查看
功能实现:A跳到B并打开B中指定页面
步骤:
1.首先创建两个项目(项目A,项目B),在项目B中的info.plist文件中添加URL Types,如下图所示:
![](http://img.blog.csdn.net/20151216102344209)
其中URL idenifier是项目B的bundle id ,URL Schemes 中添加一个命令前缀,我这里使用“projectB”,这个名字可以自己取,运行一下项目B。
2.在项目A中添加跳转代码
这里的URL的命令前缀必须和之前自己定义的一致,我把这行代码加到了一个button的点击方法里,现在点击button就可以跳到项目B了。
![](http://img.blog.csdn.net/20151216104125443)
![](http://img.blog.csdn.net/20151216104153059)
3.现在说下app之间跳转的通信,其实跟传值差不多。项目A中第二个button的点击方法添加代码
4 . 项目B中在appDelegate中添加一个NSURL的属性,实现一个代理方法接收从项目A传过来的URL
然后在B中第一个界面加上代码
![](http://img.blog.csdn.net/20151216111027626)
![](http://img.blog.csdn.net/20151216111050527)
简而言之,就是根据从A中传过来的URL打开项目B后进行一些自定义操作
步骤:
1.首先创建两个项目(项目A,项目B),在项目B中的info.plist文件中添加URL Types,如下图所示:
其中URL idenifier是项目B的bundle id ,URL Schemes 中添加一个命令前缀,我这里使用“projectB”,这个名字可以自己取,运行一下项目B。
2.在项目A中添加跳转代码
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"projectB://"]];
这里的URL的命令前缀必须和之前自己定义的一致,我把这行代码加到了一个button的点击方法里,现在点击button就可以跳到项目B了。
3.现在说下app之间跳转的通信,其实跟传值差不多。项目A中第二个button的点击方法添加代码
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"projectB://openBSecondPage"]];
4 . 项目B中在appDelegate中添加一个NSURL的属性,实现一个代理方法接收从项目A传过来的URL
-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url { self.url = url; return YES; }
然后在B中第一个界面加上代码
- (void)viewDidLoad { [super viewDidLoad]; NSURL * url = ((AppDelegate *)[UIApplication sharedApplication].delegate).url; ; if(url){ //显示一下从A获取的url,url = projectB://openBSecondPage,host = openBSecondPage self.label.text = [NSString stringWithFormat:@"url = %@,host = %@",[url absoluteString],[url host]]; //根据传过来的url的host进行一些操作 if ([[url host]isEqualToString:@"openBSecondPage"]) { //跳转到第二个界面 [self performSegueWithIdentifier:@"second" sender:nil]; } } }
简而言之,就是根据从A中传过来的URL打开项目B后进行一些自定义操作
相关文章推荐
- 【转】Android点击空白区域,隐藏输入法软键盘
- Ubuntu:Android编译环境设置和编译
- Android初识-菜单的用法
- appium移动端测试之滑动(二)
- loadrunner录制时弹出invalid application path
- android 自定义对话框
- 2015CZBK 21期C#ASP.NET win10通用mvc+app开发附源码
- android studio 代码混淆如何忽略第三方jar包
- zhu的工作日记:图片三级缓存的工具类(android)
- 关于常量,枚举和注解
- Android对齐属性大全
- Android 微信抢红包插件
- Android 屏幕适配方案
- ios 动画效果CATransition笔记
- Android - 文件读写操作 总结
- 微信企业号开发四:文件上传到微信服务器
- 【实践】用路由为webApp单页应用提供多入口
- iOS 自动布局 同一行的几个控件 需要其中某几个不被压缩,其中某几个不被拉伸
- 详解Android中IntentService的使用方法
- (Bitmap OOM) BitmapFactory.nativeDecodeStream