ios开发-APP之间跳转

本文介绍如何在iOS应用程序(App1)中通过注册自定义URL Scheme实现跳转至另一个应用程序(App2)的方法,并展示了具体的配置步骤及代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原文地址:http://blog.youkuaiyun.com/grozy_sun/article/details/11321081

设想:如果App1能再自己中打开App2,那么App1打开自己是不是就能打开自己了呢。后来就简单的去实现了一下,结果失败了,有同样想法的就放弃吧,但是这个跳转觉得还是有一定用途的,为了以后方便自己和大家,简单的记录一下,下面进入正题。

最开始,首先要为自己的应用注册一个自己的URL(因为一会儿要调用openURL:的这个方法,这个很关键)。下面是注册自己URL的方法。

我们都知道,当生成一个项目的时候,XCode会为我们生成很多文件,其中有一个叫  XXX-info.plist的配置文件(XXX为你的工程名)。打开这个配置文件,右键点击空白处,选择Add Row添加一个新的一行(确定点击了InformationPropertyList因为我们要在他下面添加一个新的一行)。

       将这行的名字改为URL types,然后点开Item 0,在Item 0会默认生成一个Key值为URL identifier,可以是任何值,但建议用“反域名”,说到这里我也不太明白怎么回事,但是可以确认的是URL identifier内容不影响实现。。,

在Item 0下在添加一个新的一行,名字设置为URL Schemes 如下图。 URL Schemes下的Item0的Value值就是内容的关键了,他将是我们之后的URL协议名,这里我们写成App1(然后同样的步骤,将你要打开的应用的这里设置App2),然后就是代码部分了。


要是想测试的话,你可以把这部分代码放到按钮的点击事件中:

 NSURL * url=[NSURLURLWithString:@"App2://"];

    [[UIApplicationsharedApplicationopenURL:url];

到这位置App1中的代码就是先了。下面是App2中的做法:

首先你要是想让你的App2能响应App1的打开,他一定要再自己的AppDelegate中实现一个协议方法:

-(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation{

    return YES;

}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值