IOS应用之间跳转

我们来讨论一下,在iOS开发中,如何实现从app1打开app2。

基本的思路就是,可以为app2定义一个URL,在app1中通过打开这个URL来打开app2,在此过程中,可以传送一些参数。下面来讨论一下具体的实现过程。

1. 在app2的info.plist中定义URL,就是在文件中添加URL types一项。可按下图进行添加。

2. 在app1的代码中打开刚才定义的URL,代码如下:

[cpp] view
plain
copy

  1. NSURL *url = [NSURL URLWithString:@"myapp://test?para1=1?2=2"];
  2. if ([ourApplication canOpenURL:ourURL]) {//检测已经安装
  3. [[UIApplication sharedApplication] openURL:url];

当然,这个URL的形式可以是其他形式的,只要以"myapp://"开始即可。

这样,就可以在app1中打开app2.

打开之后,会调用app2的AppDelegate的

- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url {
    if ([[url host] isEqualToString:@"com.taobao.dgb"])
{
NSLog(@"------%@----%@",[url host],[url query]);
        NSString *viewId = [[url query] substringFromIndex:[[url query] rangeOfString:@"viewId="].location + 7];
        if ([viewId isEqualToString:@"letters"]){
        }
    }
    return YES;
}

由于URL是自己定义的,所以会存在URL重复的情况。经过测试发现,如果试图打开这个URL,那么会打开先安装的那个应用。

时间: 2024-10-10 17:52:54

IOS应用之间跳转的相关文章

iOS App之间跳转

从一个APPClient跳转到另一个APPServer,这里的APPClient APPServer知识代表两个不同的APP,不拥有BunldId的功能.我刚开始就理解错了. 实现从APPClient跳转到另一个APPServer: 1.首先在APPServer的info.plist中添加一行属性. url 的构成为:pupuwang://com.pupuwang.XWCustomer 其中 URL Schemes 最重要 ,为url的前缀,URL identifier 为url的://后面的字

ios俩个APP之间跳转、传值

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString = [NSString stringWithFormat:@"AppJumpSecond://%@",textField.text]; [[UIApplication sharedApplication] open

ios两个app之间跳转,传值的实现

两个APP之间的跳转是通过[[UIApplication sharedApplication] openURL:url]这种方式来实现的. 1.首先设置第一个APP的url地址 2.接着设置第二个APP的url地址 3.需要跳转的时候 NSString *urlString = [NSString stringWithFormat:@"AppJumpSecond://%@",textField.text]; [[UIApplication sharedApplication] open

iOS开发备忘录:实现多StoryBoard之间跳转

iOS项目中可以将同一业务流程的页面归置到一个StoryBoard中,项目中必然会包含多个StroryBoard,可以利用跳转,实现项目的不同业务流程页面间的跳转切换. 实现思路: 1,项目(Project)中添加两个StoryBoard: 2,在第一个StoryBoard中,将原有Scene删除掉,重新添加一个NavigationController,然后在任意View Controller Scene中添加一个Button,并添加按钮的TouchUpInside事件: 3,TouchUpIn

iOS 页面之间的传值总结

iOS 页面之间的传值总结   1.属性传值 (1): 属性传值第一步需要用到什么类型就定义什么样的属性 (2): 从上一个页面到一个页面的选中方法里面将要传的值传到来(上一个页面)备注:这种方法只适用于上一个页面推到下一个页面. 如:MainViewController与SecondViewController两个视图控制器,点击MainViewController中的按钮将跳转到SecondViewController视图,同时想要传递一个值过去.这时可以利用属性传值. 首先SecondVi

IOS 页面之间的传值(主讲delegate)

IOS的Delegate,通俗一点说就是页面之间的传值. 总结一下现在知道的IOS页面之间传值的方式有三种 1.使用NSNotification发送通知的传值 主要是通过NSNotificationCenter发送一个通知,他不知道要把值传给谁,当监听的页面收到通知消息,才会获取到消息. 2.是利用属性来传值,我主要是用到A->B中A页面要跳转到B页面,也就把B中需要A的参数通过preparFroSegue方法从A传给B 3.通过NSUserDefault来传值,其主要思想是把值写到本地化的一个

IOS 页面间跳转

常用的就两种 一种通过导航,一种直接跳 第一种 直接跳转 思路大致就是new一个目的页面,然后设置下页面跳转动画 中间还可以做点目的页面的数据初始化: ValueInputView *valueView = [[ValueInputView alloc] initWithNibName:@"ValueInputView"bundle:[NSBundle mainBundle]]; valueView.delegate = self; [valueView setModalTransit

去除警告,打电话,发信息,应用程序之间跳转,打印沙盒路径,字符串名字转换方法,包装导航控制器等的代码

从偏好设置中读取值: 打电话代码: 发信息代码: 打印沙盒路径代码: 应用程序之间跳转代码: 跳转到苹果商店代码: 去除警告代码: 根据字符串名称转换成相对应方法的代码: #import "SZMSettingsCell.h" @implementation SZMSettingsCell //选择不同的cell类型 + (UITableViewCellStyle)cellStyleWithDict:(NSDictionary *)dict{ UITableViewCellStyle

ios应用之间调用

本代码实现的是项目testFrom打开一张相册中的照片并将照片数据化后传递给testTo显示出来. 具体代码见: https://github.com/vegerjiang/iosEachApp 你要是觉得好,请点下面的顶,谢谢! ios应用之间调用