码迷,mamicode.com
首页 > 移动开发 > 详细

iOS企业包下载安装

时间:2020-02-29 14:39:29      阅读:94      评论:0      收藏:0      [点我收藏+]

标签:apk   服务   fun   property   block   apple   flex   名称   nas   

当客户端完成开发和测试之后,准备上线给用户使用,就需要提供下载渠道,上传到「应用商店」和「App Store」是很常见的做法,但是今天我们要来聊一下 iOS 企业包的下载方式。

一、背景介绍

1、Android 软件

Android 软件打包之后的安装包后缀是「.apk」,例如:cool.apk。

Android 软件打包之后,无论是直接将安装包发给用户,还是用户从应用商店下载,都可以直接安装使用。

2、iOS 软件

iOS 软件打包之后的安装包后缀是「.ipa」,例如:cool.ipa。

iOS 的软件生态被苹果公司把控着,通常来说,要把软件上传到苹果的 App Store,用户才能下载使用,而且审核很严格,否则,即使将打包好的安装包给用户,用户安装后图标为灰色,无法使用。

技术图片

如果你或者你公司的项目涉及到金融相关的,或者跟其他 APP 很像等等,那就很难通过 App Store 的审核。那么,这类软件就没办法给用户使用了吗?有办法!那就是打企业包,简单说,就是让有企业证书的人给软件签名,虽然不能上架 App Store ,但是用户可以通过你设置的下载渠道进行下载安装。

二、下载设置

1、Android 软件

Android 软件的下载很简单,只要把安装包上传到服务器或者云存储上,用户通过访问指定的链接即可下载安装包,下载之后一般都会自动提示安装。

例如:https://download.sj.qq.com/upload/connAssitantDownload/upload/MobileAssistant_1.apk

2、iOS 软件

iOS 软件下载不同于 Android 软件下载,一般有以下两种方式(我们这里谈论的不包括上传到 App Store)。

(1)、蒲公英 / fir.im

将 iOS 软件安装包上传到「蒲公英」或者「fir.im」上,一般每个软件有每天 100 次的免费下载次数,如果想要更多的下载次数,就需要付费了。

技术图片

PS:如果是企业包,上图中的打包类型会显示「企业版」。

(2)、自定义下载

终于来到今天的重点了,有需要的人要认真看了。其实这种方式就是仿照「蒲公英」和「fir.im」的模式,只不过是将文件上传到了自己的服务器,有兴趣的可以抓下它们的接口。

Android 的安卓版直接上传到服务器,假如安装包的访问地址是: http://juemuren4449.com/cool.apk,那么用户访问链接即可下载,但是 iOS 软件直接访问 http://juemuren4449.com/cool.ipa 是无法下载的。

想要下载 iOS 软件,除了刚才上传的 .ipa 的安装包外,还需要上传两个文件,一个是「.plist」和「.html」的文件。附件放在文末了,代码如下:

注意:要把代码中带有「填写」的内容改成自己的,html 页面的内容可以自定义。三个文件都上传之后,访问 html 文件的链接 http://juemuren4449.com/download.html,即可实现下载。

「archive.plist」

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>items</key>
    <array>
        <dict>
            <key>assets</key>
            <array>
                <dict>
                    <key>kind</key>
                    <string>software-package</string>
                    <key>url</key>
                    <string>填写下载地址</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>填写buildID</string>
                <key>bundle-version</key>
                <string>填写版本号</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>填写软件名称</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

「download.html」

<DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>iOS 下载</title>
  <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
</head>
<script>
  (function(doc,win){var docEl=doc.documentElement,resizeEvt="orientationchange" in window?"orientationchange":"resize",recalc=function(){var clientWidth=docEl.clientWidth;if(!clientWidth){return}docEl.style.fontSize=100*(clientWidth/750)+"px"};if(!doc.addEventListener){return}win.addEventListener(resizeEvt,recalc,false);doc.addEventListener("DOMContentLoaded",recalc,false)})(document,window);
</script>
<style>
  *{
    margin: 0;
    padding: 0;
  }
  html,body{
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
  }
  p{
    font-size: .3rem;
    color: #333;
    text-align: center;
  }
</style>
<body>
    <p>点击“安装”后,请按Home键至桌面查看安装进度</p>
 </body>
</html>
<script type="text/javascript">
     window.onload=function (){
    window.location.href="itms-services://?action=download-manifest&url=填写plist的访问链接"
}
</script>

由于没有个人的项目的企业包,就不拿公司的做演示了,有问题可以留言谈论。

附件下载:plist&htlm.zip

欢迎访问的个人博客:掘墓人的小铲子

iOS企业包下载安装

标签:apk   服务   fun   property   block   apple   flex   名称   nas   

原文地址:https://www.cnblogs.com/juemuren4449/p/12382778.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!