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


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

    大家快试试吧~~

  • 相关阅读:
    mapreduce 函数入门 二
    mapreduce 函数入门 一
    Flume+Kafka+Storm+Redis 大数据在线实时分析
    mapReduce 大数据离线分析
    docker 简介
    flume安装使用+根据数据源分类
    hiho 171周
    如何新建一个空的optix工程
    读 Real-Time Rendering 收获
    hiho 1590
  • 原文地址:https://www.cnblogs.com/yajunLi/p/6291991.html
Copyright © 2020-2023  润新知