iOS实现一个应用去handle另一个应用
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了iOS实现一个应用去handle另一个应用,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1563字,纯文字阅读大概需要3分钟。
内容图文
![iOS实现一个应用去handle另一个应用](/upload/InfoBanner/zyjiaocheng/1160/641f2017fe2840fa9dae770bbe989d5f.jpg)
一、首先我们创建两个用于测试的App项目 (我这里以App0-A 和 App-B 为例)
二、打开工程,设置工程的InfoPlist:添加URL Types
给你的App设置一个URL Schemes(明明以你的App或者工程名来命名) 这样就能让其它应用识别得到App
ps:我们这里用App_B 去 handle 我们的App_A,故我们App_A就要设置URL Schemes
三、在App_B中,设置一个按钮,实现点击后handle出我们的App_A
- (void)viewDidLoad { [super viewDidLoad]; UIButton *App_B_Button = [UIButton buttonWithType:UIButtonTypeCustom]; App_B_Button.frame = CGRectMake(100, 100, 100, 50); App_B_Button.backgroundColor = [UIColor purpleColor]; [App_B_Button setTitle:@"App_B" forState:UIControlStateNormal]; [App_B_Button addTarget:self action:@selector(app_B:) forControlEvents:UIControlEventTouchUpInside]; [self.view addSubview:App_B_Button]; } -(void)app_B:(UIButton *)buttonB { NSURL *url = [NSURL URLWithString:@"appA://"]; [[UIApplication sharedApplication] openURL:url]; }
点击按钮后:
这样就能实现App之间的跳转的功能了。
注意:打开应用App-A的过程中,App-A有两种状态。
第一种状态:App_A并没有启动,那么会启动App_A。并调用下面的方法。
-(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { return YES; }
第二种状态:此时B已经启动了,但是在后台运行,这个时候不会调用该方法
四、若想实现App跳转的同时进行传值,只需实现application的代理方法
// 当应用程序被其他程序打开的时候会调用这个方法,在该方法中可以实现两个应用程序间的数据局传递
//通过这个代理方法可以拦截url
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation { NSString *urlStr = [url absoluteString]; if ([urlStr hasPrefix:@"AppA://"]) { urlStr = [urlStr stringByReplacingOccurrencesOfString:@"AppA://" withString:@""];//参数就在url,传值也在里面 } return NO; }
原文:http://www.cnblogs.com/dingjiwoniu-blogs/p/5171377.html
内容总结
以上是互联网集市为您收集整理的iOS实现一个应用去handle另一个应用全部内容,希望文章能够帮你解决iOS实现一个应用去handle另一个应用所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。