iOS实现一个应用去handle另一个应用(一个App打开另外一个App)

热门标签

特别声明:文章多为网络转载,资源使用一般不提供任何帮助,特殊资源除外,如有侵权请联系!

一、首先我们创建两个用于测试的App项目 (我这里以App0-A 和 App-B 为例)

iOS实现一个应用去handle另一个应用(一个App打开另外一个App)

iOS实现一个应用去handle另一个应用(一个App打开另外一个App)

 

二、打开工程,设置工程的InfoPlist:添加URL Types

给你的App设置一个URL Schemes(明明以你的App或者工程名来命名) 这样就能让其它应用识别得到App

ps:我们这里用App_B 去 handle 我们的App_A,故我们App_A就要设置URL Schemes

iOS实现一个应用去handle另一个应用(一个App打开另外一个App)

 

三、在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];
}

点击按钮后:

iOS实现一个应用去handle另一个应用(一个App打开另外一个App)

这样就能实现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;
}
标签:

未经允许不得转载:作者:SheaYang, 转载或复制请以 超链接形式 并注明出处 技术Dog|博客
原文地址:《iOS实现一个应用去handle另一个应用(一个App打开另外一个App)》 发布于2019-09-27

分享到:
赞(1) 打赏

评论 抢沙发

3 + 2 =


iOS实现一个应用去handle另一个应用(一个App打开另外一个App)

长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu4.0主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?