[置顶] 在一个应用中打开另外一个本地应用

首先 很感谢 你们能有来看个人博客。

在学习有关这部分的原由是由于原本想作一个重启的小demo,设想:若是App1能再本身中打开App2,那么App1打开本身是否是就能打开本身了呢。后来就简单的去实现了一下,结果失败了,有一样想法的就放弃吧,可是这个跳转以为仍是有必定用途的,为了之后方便本身和你们,简单的记录一下,下面进入正题。 app

最开始,首先要为本身的应用注册一个本身的URL(由于一下子要调用openURL:的这个方法,这个很关键)。下面是注册本身URL的方法。 ide

咱们都知道,当生成一个项目的时候,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),而后就是代码部分了。 url


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

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

    [[UIApplication sharedApplicationopenURL:url]; 事件

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

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

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

    return YES;

}

这就完成了,有什么问题能够给我留言,因为分辨率的问题因此图片有点大,还望见谅。

相关文章
相关标签/搜索