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

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

yajunLi 2017-01-17 10:25 513 查看
早上和UI刚谈到这个需求,然后自己试了一下,发现还是蛮简单的,记录一下:

思路分析:

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只是为了举例。

大家快试试吧~~
标签: 
相关文章推荐
章节导航