全网整合营销服务商

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

免费咨询热线: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设计详细介绍及简单示例  # 跳转到  # 跳转  # 就会  # 没有安装  # 官网  # 还没有  # 下载地址  # 它是  # 这部  # 可以通过  # 希望能  # 考虑到  # 可以使用  # 谢谢大家  # 指的是  # 最简单  # 下载页面  # 如在  # 创建一个  # 让其 


相关文章: 如何快速上传建站程序避免常见错误?  香港服务器网站推广:SEO优化与外贸独立站搭建策略  小型网站制作HTML,*游戏网站怎么搭建?  微网站制作教程,不会写代码,不会编程,怎么样建自己的网站?  合肥制作网站的公司有哪些,合肥聚美网络科技有限公司介绍?  建站之星如何实现网站加密操作?  建站三合一如何选?哪家性价比更高?  建站之星后台管理系统如何操作?  制作网站怎么制作,*游戏网站怎么搭建?  如何通过PHP快速构建高效问答网站功能?  如何高效利用亚马逊云主机搭建企业网站?  ,网站推广常用方法?  如何零成本快速生成个人自助网站?  网站规划与制作是什么,电子商务网站系统规划的内容及步骤是什么?  建站之星安装步骤有哪些常见问题?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  建站之星好吗?新手能否轻松上手建站?  如何通过智能用户系统一键生成高效建站方案?  网站制作免费,什么网站能看正片电影?  c++ stringstream用法详解_c++字符串与数字转换利器  建站ABC备案流程中有哪些关键注意事项?  如何在阿里云香港服务器快速搭建网站?  Dapper的Execute方法的返回值是什么意思 Dapper Execute返回值详解  如何彻底删除建站之星生成的Banner?  C++时间戳转换成日期时间的步骤和示例代码  网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?  图册素材网站设计制作软件,图册的导出方式有几种?  如何用AWS免费套餐快速搭建高效网站?  建站之星免费版是否永久可用?  如何有效防御Web建站篡改攻击?  郑州企业网站制作公司,郑州招聘网站有哪些?  如何快速搭建响应式可视化网站?  网站企业制作流程,用什么语言做企业网站比较好?  如何选择高效可靠的多用户建站源码资源?  宝塔Windows建站如何避免显示默认IIS页面?  网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?  如何选择网络建站服务器?高效建站必看指南  常州自助建站费用包含哪些项目?  大型企业网站制作流程,做网站需要注册公司吗?  如何在IIS管理器中快速创建并配置网站?  如何基于云服务器快速搭建个人网站?  如何通过VPS建站无需域名直接访问?  魔方云NAT建站如何实现端口转发?  山东云建站价格为何差异显著?  如何在IIS中配置站点IP、端口及主机头?  如何在IIS服务器上快速部署高效网站?  如何在建站之星网店版论坛获取技术支持?  如何通过西部数码建站助手快速创建专业网站?  天河区网站制作公司,广州天河区如何办理身份证?需要什么资料有预约的网站吗?  建站之星下载版如何获取与安装? 

您的项目需求

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