准备两个工程,要从第一个App里跳入第二个App。
在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];
}
写完以后运行一下。
- 下面来写第二个App,也就是要被跳入的App.
首先找到TARGETS -> Info -> URL Types ,点击+号添加一个。写上 URL Schemems
然后运行一下。
*这时候打开第一个App,点击按钮就可以跳转第二个。*
- 接收第一个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,如果要返回的话也能知道路忘哪里走。
本文介绍如何实现iOS应用间的跳转,并通过URL Scheme传递数据。具体步骤包括设置跳转URL Scheme、添加跳转按钮及代码实现、接收并解析传入的数据等。
2万+

被折叠的 条评论
为什么被折叠?



