最近有一项目的要求是不通过苹果商店,二是通过扫描二维码进行下载app,当然了安卓手机是非常容易做到的,这里主要讲述苹果的。以及两个应用合并为一个的知识点。其实很多分发平台就是这样做的。比如:fir.im等等吧。那么接下来我们开始我们的博客内容。

其实分发平台很多是获取你上传的app,会生成两个文件一个是plist文件,通过他我们可以下载对应的ipa文件。

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

那么plist文件内容是这样的。内容主要是告诉我们下载ipa文件的地址和icon图片的下载地址。这个文件必须通过https的访问才可以。因为现在苹果规定必须以https的方式进行访问

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

同学们一定很好奇,这中间是怎么一个过程呢。其实是利用苹果自家的浏览器safari和itms-services协议来实现的。

通过itms-services协议,可以通过safari浏览器直接在iOS设备上安装应用程序。利用这种方式,只要在内网布置一个服务器,测试人员只需要通过测试设备的safari浏览器访问特定的url既可以实现安装

当我们上传我们的app到服务器上的时候,我们会把所有的地址存储起来,并把相关的信息都存储在数据库。这样就会在展示页显示我们app的信息:如图所示,此处我是关联了两个程序。其实就是一个字段相互引入各自的下载路径,通过判断设备来进行下载,来实现二维码合二为一。

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

接下来,在我们的二维码扫描页面,

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

然后我们看一下手机上,下载按钮连接的地址是什么。其实就是install.php中的内容,里面就是我们通过苹果的协议,来进行下载的连接。

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

我们来看看install的内容:

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

那么如果没有https的环境,也没关系,我们可以利用第三方的外链来实现。放到第三方平台,比如七牛云或者码云上去,我这里是放到了码云上去,只需要把这里的地址换成码云上源文件的地址就可以。

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

那么接下来我们就可以实现扫描二维码下载app到苹果和安卓手机了,那么我们看一下测试的效果:

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

那么到现在我们实现了通过另外一种方式安装苹果app的方法,这也是很多内部分发平台的实现原理。对于这种的安装方式,在打开APP的时候会提示是否信任此设备。这也是没有从苹果商店下载的好处,你需要去信任这个,至于位置就是在设置——》通用——》设备管理——》此处位置:

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

当然现在很多分发平台是有直接跳转到这里的功能的。

苹果安装app的另一种方式(通过itms-services协议,不通过AppStore,直接安装IOS应用程序)-LMLPHP

其实就是一个a标签的连接,直接跳转到设备管理的位置。

说了这么多,整个app的安装过程我们就讲述完了。然后就是可以愉快的使用我们的app了。那么总结一下,主要的知识点就是:

1.苹果app必须签名成功。

2.上传到服务器,获得信息和下载地址,得到两个文件,一个是plist文件和ipa文件,当然还有图片。

3.通过访问plist文件来达到下载ipa文件和图片的目的,使用了苹果的itms-services:///?action=download-manifest&url=一个https地址

4.信任设备。

5.其他知识点:二维合一,就是一个判断,和得到相互的下载地址,然后继续上述的协议,下载app。

市场上很多的分发平台就是这么做的。公司的一个项目需要这样的技术,所以就把整个过程给大家过一遍,希望可以帮助更多的人,来了解一下这个技术。与所有程序爱好者共勉.......

10-05 10:38