您的位置:首页 > 移动开发

iOS实现在webview页面内点击链接,跳转指定App

leemin_ios 2017-08-07 14:48 113 查看
思路分析:

iOS内应用之间跳转都会用到 URL Schemes这个东西,简单的讲,这个就是用来定义app身份的一个id识别,这里定义了之后,手机运行过这个app之后,会在系统内部记录下这里的身份识别,下次,其他app想访问该app,只要请求那里定义的URL Schemes,手机自己就能找到这个app,从而实现跳转。。。

 

好了,代码测试如下:

1、在项目里,Info最下端,找到URL Types,add一个新的Schemes:

这里的几个参数最好都填一下,但是URL Schemes是必填的。



 

 

info.plist添加说明



 

2、在AppDelegate里的  handleOpenURL 代理方法捕获跳转过来的监听,或者拿取传递的参数。

-(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url{
if (!url) {
return  NO;
}

NSString *urlStr = url.absoluteString;
NSLog(@"handleOpenURL:%@",urlStr);

return YES;
}


 

3、打开模拟器的Safari,在地址栏输入:    TestOC://    

格式为:URL Schemes  :  //   3部分组成。



点击Open,就会跳转我的应用了,并且走到了handleOpenURL方法,并打印出了url。

 



 

这里,如果我想传递一些参数,该怎么做呢?

原理一样的:在 ://之后加上一段参数即可。

只需要这样写:

TestOC://userId:123&pwd:123



然后,我们再截取处理就可以了。

 

补充一下:如果想传递图片,可以利用系统的剪切板:UIPasteboard 很方便哦

 

PS:这里我为了省事,直接在地址栏输入的,正常情况下,在页面里,一般用link或button之类的,带上url就行了,使用原理还是一样的。

而且,这里浏览器其他也是一样的,用Safari只是为了举例。
标签: 
相关文章推荐