zoukankan      html  css  js  c++  java
  • 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只是为了举例。

    大家快试试吧~~

  • 相关阅读:
    是否需要代码规范
    上网调查一下目前流行的源程序版本管理软件和项目管理软件都有哪些?各有什么优缺点?
    作业二--------个人编程项目:四则运算。
    学习进度总结————王烁130201218
    作业一:建立博客、自我介绍、速读教材、学习进度总结
    论实习之后的感悟
    作业九 ——报告及总结
    作业四: 结对编程项目---四则运算
    代码复审
    PSP记录个人项目耗时情况
  • 原文地址:https://www.cnblogs.com/yajunLi/p/6291991.html
Copyright © 2011-2022 走看看