全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

IOS 开发之应用唤起实现原理详解

一、什么是iOS应用唤起

IOS中的应用唤起用来实现以下功能:在浏览器中可以通过某些方式打开IOS手机本地的app,如果该app没有安装可以跳转到该应用对应的App Store的下载页。 

二、App store下载页连接

App store中某个应用的下载页连接形如:https://itunes.apple.com/us/app/id399608199。在PC端浏览器打开该连接会跳转到应用详情页的PC端界面。在Safari中打开该连接,浏览器会询问是否在App Store中打开该连接,选择打开即会自动打开App Store并跳转到对应应用的下载界面。 

三、URL Schemes

URL Schemes和URL很类似,一个URL可以指向某个网站(如https://www.apple.com指向苹果官网),也可以指向该网站内部具体的某个页面(如https://www.apple.com/mac/指向苹果官网的Mac页面)。一个URL Schemes也可以指向某个APP(weixin://指向微信这个APP)或者APP内部的某个功能(weixin://dl/moments/指向微信朋友圈功能)。

基本URL Schemes指的是如weixin://的这部分。通过这个基本URL Schemes,可以打开某个IOS APP应用。比如在Safari的地址栏中输入weixin://,浏览器就会提示是否打开微信,选择打开,手机就会自动打开本地的微信应用。

 四、IOS应用唤起方法

1.直接跳转法(支持各个版本IOS系统)

最简单的方法,在页面中使用a标签制作一个按钮,让其href指向打开APP的基本URL Schemes即可。考虑到可能本地没有安装,这时需要通过js代码让浏览器跳转到对应的App Store下载页。可以设定一个合理的反映时间时间,如果超时还没有打开应用的话,就跳转到下载页面,可以使用setTimeout方法,代码如下:

$('a').click(function() { 
  location.href = 'weixin://'; 
  setTimeout(function() { 
    location.href = 'https://itunes.apple.com/us/app/id399608199'; 
  }, 500); 
} 

2.使用iframe(仅支持IOS8及其以下版本)

通过为body中添加一个隐藏的iframe,其内部的src设置成对应的连接,即可实现该功能,代码如下:

var url = { 
 open: 'weixin://', //对应的Scheme 
 down: 'https://itunes.apple.com/us/app/id399608199'  //对应的下载地址 
}; 
var iframe = document.createElement('iframe'); //创建一个iframe 
var body = document.body; 
iframe.style.cssText='display:none;width=0;height=0'; //设置该iframe为不可见的 
var timer = null; 
var openapp = document.getElementById('openapp'); 
openapp.addEventListener('click', function() { 
 body.appendChild(iframe);  //点击打开app按钮后,将这个iframe添加到body中 
 iframe.src = url.open; //设置iframe的src为weixin://,通过这个iframe进行跳转 
 timer = setTimeout(function() { 
  wondow.location.href = url.down; //500ms后跳转到下载界面 
 }, 500); 
}, false) 

3.使用Universal links(目前仅IOS9支持)

Universal links是IOS9新增的功能,它是一个普通的HTTP连接。通过Universal links,能够方便的通过传统的HTTP链接来启动APP(如果iOS设备上已经安装了app), 或者打开对应下载界面(iOS设备上没有安装app)。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


# IOS  # 应用唤起  # 应用唤起详解  # 应用唤起实例  # iOS中的NSURLCache数据缓存类用法解析  # Objective-C的缓存框架EGOCache在iOS App开发中的使用  # C++开发在IOS环境下运行的LRUCache缓存功能  # 使用Javascript判断浏览器终端设备(PC、IOS(iphone)、Android)  # iOS 条码及二维码扫描(从相册中读取条形码/二维码)及扫码过程中遇到的坑  # iOS实现时间显示几分钟前  # 几小时前以及刚刚的方法示例  # IOS正则表达式判断输入类型(整理)  # iOS 仿百度外卖-首页重力感应的实例  # IOS TextFiled与TextView 键盘的收起以及处理键盘遮挡  # IOS与网页JS交互详解及实例  # IOS Cache设计详细介绍及简单示例  # 跳转到  # 跳转  # 就会  # 没有安装  # 官网  # 还没有  # 下载地址  # 它是  # 这部  # 可以通过  # 希望能  # 考虑到  # 可以使用  # 谢谢大家  # 指的是  # 最简单  # 下载页面  # 如在  # 创建一个  # 让其 


相关文章: 如何破解联通资金短缺导致的基站建设难题?  已有域名和空间如何搭建网站?  C#如何序列化对象为XML XmlSerializer用法  如何通过VPS建站实现广告与增值服务盈利?  如何通过PHP快速构建高效问答网站功能?  香港服务器部署网站为何提示未备案?  如何快速重置建站主机并恢复默认配置?  网站制作的步骤包括,正确网址格式怎么写?  如何用PHP工具快速搭建高效网站?  建站之星下载版如何获取与安装?  青岛网站设计制作公司,查询青岛招聘信息的网站有哪些?  如何确保FTP站点访问权限与数据传输安全?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  西安大型网站制作公司,西安招聘网站最好的是哪个?  如何在IIS中新建站点并配置端口与IP地址?  广州营销型建站服务商推荐:技术优势与SEO优化解析  网站制作服务平台,有什么网站可以发布本地服务信息?  建站之星安装后如何配置SEO及设计样式?  广州商城建站系统开发成本与周期如何控制?  建站之星logo尺寸如何设置最合适?  如何设计高效校园网站?  教学论文网站制作软件有哪些,写论文用什么软件 ?  如何在Windows服务器上快速搭建网站?  在线ppt制作网站有哪些软件,如何把网页的内容做成ppt?  建站主机是否等同于虚拟主机?  标准网站视频模板制作软件,现在有哪个网站的视频编辑素材最齐全的,背景音乐、音效等?  如何设置并定期更换建站之星安全管理员密码?  小米网站链接制作教程,请问miui新增网页链接调用服务有什么用啊?  制作网站的网址是什么,请问后缀为.com和.com.cn还有.cn的这三种网站是分别是什么类型的网站?  如何基于PHP生成高效IDC网络公司建站源码?  如何快速搭建自助建站会员专属系统?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  香港服务器选型指南:免备案配置与高效建站方案解析  如何在万网ECS上快速搭建专属网站?  免费ppt制作网站,有没有值得推荐的免费PPT网站?  制作电商网页,电商供应链怎么做?  常州企业网站制作公司,全国继续教育网怎么登录?  建站之家VIP精选网站模板与SEO优化教程整合指南  如何通过万网虚拟主机快速搭建网站?  怎么将XML数据可视化 D3.js加载XML  建站VPS选购需注意哪些关键参数?  如何快速打造个性化非模板自助建站?  网站制作企业,网站的banner和导航栏是指什么?  小建面朝正北,A点实际方位是否存在偏差?  如何续费美橙建站之星域名及服务?  如何用景安虚拟主机手机版绑定域名建站?  GML (Geography Markup Language)是什么,它如何用XML来表示地理空间信息?  代刷网站制作软件,别人代刷火车票靠谱吗?  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  网站制作多少钱一个,建一个论坛网站大约需要多少钱? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。