App之间互相跳转 URL Schemems

本文介绍如何实现iOS应用间的跳转,并通过URL Scheme传递数据。具体步骤包括设置跳转URL Scheme、添加跳转按钮及代码实现、接收并解析传入的数据等。
  1. 准备两个工程,要从第一个App里跳入第二个App。

    两个App的名字

  2. 在FirstApp的ViewController添加一个按钮,在按钮点击事件里添加如下代码

- (void)jumpToSecondApp{

    NSString *urlStr = [NSString stringWithFormat:@"JumpToSecondApp://%@",@"我来自FirstApp"];
//1. 如果有中文一定要转码,跳入第二个App的时候会崩溃
    urlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];

    [[UIApplication sharedApplication]openURL:[NSURL URLWithString:urlStr ]];
 //2. 上面的方法在Xcode8 bate 中被弃用了,取而代之的是下面的方法。
//     [[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlStr] options:@{} completionHandler:nil];

}

写完以后运行一下。

  1. 下面来写第二个App,也就是要被跳入的App.
    首先找到TARGETS -> Info -> URL Types ,点击+号添加一个。写上 URL Schemems
    这里写图片描述

然后运行一下。

*这时候打开第一个App,点击按钮就可以跳转第二个。*
  1. 接收第一个App传过来的信息“我来自FirstApp”。在SecondApp中的AppDelegate.m中添加代码
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
    UIAlertView *alert = [[UIAlertView alloc]initWithTitle:@"哎哟!你来啦!" message:[[url host] stringByReplacingPercentEscapesUsingEncoding:NSUTF8StringEncoding] delegate:self cancelButtonTitle:@"OK" otherButtonTitles: nil];
    [alert show];

    return true;
}

代码中message: 对应的参数就是从第一个App中传来的信息,我们可以根据这个信息来判断来自哪一个App,如果要返回的话也能知道路忘哪里走。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值