IOS开发入门之IOS下的应用唤起实现原理
白羽 2018-11-26 来源 :网络 阅读 519 评论 0

摘要:本文将带你了解IOS开发入门IOS下的应用唤起实现原理,希望本文对大家学IOS有所帮助。

    本文将带你了解IOS开发入门IOS下的应用唤起实现原理,希望本文对大家学IOS有所帮助。



        

一、什么是IOS应用唤起

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

 

二、Appstore下载页连接

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

 

三、URLSchemes

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

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

 

四、IOS应用唤起方法

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

最简单的方法,在页面中使用a标签制作一个按钮,让其href指向打开APP的基本URLSchemes即可。考虑到可能本地没有安装,这时需要通过js代码让浏览器跳转到对应的AppStore下载页。可以设定一个合理的反映时间时间,如果超时还没有打开应用的话,就跳转到下载页面,可以使用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.使用Universallinks(目前仅IOS9支持)

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

 

          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注职坐标移动开发之IOS频道!


本文由 @白羽 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程