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只是为了举例。
大家快试试吧~~
iOS实现在webview页面内点击链接,跳转指定App的更多相关文章
- 微信内点击链接或扫描二维码可直接用外部浏览器打开H5链接的解决方案
很多朋友问我怎么解决微信内点击链接或扫描二维码可以直接跳出微信在外部浏览器打开网页链接,其实这并不难,只要我们使用微信跳转浏览器接口实现跳转功能即可. 简单的处理方案 1. 用浏览器打开我们需要用到的 ...
- 阻止iOS Web APP中点击链接跳转到Safari 浏览器新标签页
问题:ios封装完之后,点击里边的按钮会跳转到网页上 ——小卡遇到这个问题就是这样解决的↓↓↓ 解决方法:建议将代码放到</head>标签前,当然,另外存为一个js 文件引用也是可以的呦~ ...
- 点击链接跳转到QQ的情况; qq交谈
https://blog.csdn.net/qq_31856835/article/details/70225968 https://blog.csdn.net/qq_37815596/article ...
- 用A标签实现页面内容定位 点击链接跳到具体位置
经常在维基百科等网站看到目录列表,点击链接会跳到具体的位置,小美眉一直在问是怎么做到的,其实挺简单的,用A标签实现页面内容定位就行了.实例参考微信营销理论手册的目录. 首先用A标签定义目录的链接. & ...
- 微信小程序中,如何点击链接跳转到外部网页
跳转到内部链接 这个我们应该都知道,通过wx.navigateTo,wx.redirectTo,wx.swtichTab等小程序内部的方法,可以直接跳转到小程序内部已经注册的(就是在app.json中 ...
- Spring Boot 国际化及点击链接跳转国家语言
一.国际化 在SpringBoot中已经自动帮我们配置管理国际化资源的组件,所以我们只需要编写代码就可. @Bean @ConfigurationProperties(prefix = "s ...
- 微信小程序如何实现点击链接跳转到手机自带浏览器
最近遇到一个需求.公司有一个业务,制作的小程序需要跳出微信打开一个指定的我们自己的页面,拿到这个需求后我们团队分开去找资料研究方案,通过微信的开发文档.腾讯的第三方开发文档我们都查阅过资料但是最终只找 ...
- 给页面点击链接加了转圈圈和解决遇到的bug
今天遇到一个问题,之前给整个网站上的链接加了loading,今天遇到在ios的chrome和safari下点击进入新页面然后点击浏览器的返回按钮,loading还在,并且一直存在,最后网上搜到了解决方 ...
- iOS UITextView 设置 NSLinkAttributeName 属性,点击链接跳转
@interface ViewController ()<UITextViewDelegate> - (void)viewDidLoad{ [super viewDidLoad]; ...
随机推荐
- JSONString 与 JSONData 与字典或者数组互相转化
JSON JSON相关的,数据彼此间的转化进行了简单地封装,源码如下,支持arc与非arc YXJSON.h + YXJSON.m // // YXJSON.h // // JSONString 与 ...
- Strings of Power
B. Strings of Power Volodya likes listening to heavy metal and (occasionally) reading. No wonder Vol ...
- iOS开发-iPad侧边栏Tab选项卡切换
Android中习惯了叫侧边栏,iOS中如果不习惯侧边栏称呼的话可以叫dock,侧边栏的切换,类似于Android中的底部导航栏的切换,iPad尺寸大了一些,导航的栏目放在侧边会显示的更好耐看一些.选 ...
- 3 Sum leetcode java
题目: Given an array S of n integers, are there elements a, b, c in S such that a + b + c = 0? Find al ...
- Longest Consecutive Sequence leetcode java
题目: Given an unsorted array of integers, find the length of the longest consecutive elements sequenc ...
- Template Method 模板方法 MD
Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...
- c#逐行分元素读取记事本txt数据写进数据库
其实这里最关键的一个方法是 StreamReader类里的 ReadLine();这个方法可以逐行读取txt流里面的数据.写了个简单的demo,已经加上了详细的注释说明. ok,好了,不废话,下面 ...
- statickeyword
static词义:静态的,可以用于修饰变量和方法,static方法块可以优先于构造函数运行. 被static修饰的变量,叫静态变量,静态变量在内存中仅仅有一份拷贝 public static Stri ...
- maven编译报错 -source 1.7 中不支持 lambda 表达式
Maven项目编译失败: [ERROR] COMPILATION ERROR : [INFO] ---------------------------------------------------- ...
- Android 色彩设计理念
色彩 色彩从当代建筑.路标.人行横道以及运动场馆中获取灵感.由此引发出大胆的颜色表达激活了色彩,与单调乏味的周边环境形成鲜明的对照. 强调大胆的阴影和高光.引出意想不到且充满活力的颜色. 色样 – 0 ...