当客户端完成开发和测试之后,准备上线给用户使用,就需要提供下载渠道,上传到「应用商店」和「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企业包下载安装相关推荐

  1. iOS 企业包无法安装

    通用方案 请先参考这里: 1.iOS ipa 安装包安装失败原因 2.iOS企业应用安装失败原因排查 如果上面的打不开 请看文末的原文 还没解决?(这是不是原因) 看看这里 我遇到情况是 项目的pro ...

  2. Eclipse汉化 中文语言包下载安装 Babel Language Pack

    相关链接 Java & Eclipse & Maven 使用配置方法 Eclipse平台上新建Java项目使用Junit测试 如何在Eclipse平台使用git从GitHub上下载文件 ...

  3. ios系统安装包下载_iOS 屏蔽系统升级,描述文件版本已复活,无需越狱,请速度下载!...

    沉寂已久的老方法,利用描述文件屏蔽 iOS 系统更新,目前已经正式恢复,再也不担心会自动下载更新包啦. 以往都是安装 tvOS 系列的描述文件,绕过苹果验证更新,从而达到阻止系统升级的目的,但是自 i ...

  4. redis的rpm包下载安装

    1.下载rpm包 下载路径:https://raw.githubusercontent.com/bazingafraser/cv/master/rpm/redis-3.2.3-1.x86_64.rpm ...

  5. R语言-rethinking包下载安装心得(windows)

    本人科研萌新一枚,近期因为学习了一本McElreath 2020. Statistical Rethinking, 2nd edition, CRC Press ,需要使用到 R 语言的rethink ...

  6. Linux几种包下载安装方式

    一.Linux系统下包安装过程 1.包下载有两种方式: 1).在windos上下载好压缩包文件后,通过工具上传到Linux 2).在linux中通过wget命令直接下载 wget http://npm ...

  7. FL Studio 2023最新发布的21版本新功能介绍/主题包/下载安装激活教程

    万众期待的 FL Studio 21 版本将于近日正式发布上线,目前在紧锣密鼓的安排上线中,届时所有购买正版 FL Studio 的用户,都可以免费升级到21版! 按照惯例,本次新版也会增加全新插件, ...

  8. 完整的游戏数据包下载安装教程

    如今Android游戏都采用了主程序和数据包分离的方式进行发放和安装,但是对于国内用户来说,要么是没有WiFi网络,要么是因为国外服务器下载速度太慢容易中断,并且大部分玩家都会在网上下载网友们贡献的游 ...

  9. Fiddler抓包(下载安装及使用)

    一.下载安装 1.下载 官网链接:https://www.telerik.com/ Fiddler Classic(经典版),这个版本是免费的,不过只能在Windows上使用. Fiddler Eve ...

最新文章

  1. sed学习系列---第3/3部分
  2. 入门级实操教程!从概念到部署,全方位了解K8S Ingress!
  3. Python排序算法之快速排序
  4. 用pythone画棵圣诞树,祝大家圣诞快乐
  5. java 对象池 实现_Java对象池技术的原理及其实现
  6. 如何在android进行ltp测试,Android系统完整性度量架构IMA-EVM
  7. css实现3行2列居中高度自适应布局
  8. 世界备份日——如果您丢失了所有文件
  9. 大文件上传 进度条显示(仿CSDN资源上传效果)
  10. 小学网上报名显示网上服务器错误,网上申请了小学学位 区教育局找不到信息...
  11. (2) 怎么学习IFC (Industry Foundation Class)
  12. 使用VsCode搭建Vue开发环境
  13. [转] React之Immutable学习记录
  14. 【ffplay】视频的宽高比详解 -PAR、DAR 和 SAR
  15. 12.第十三章.合同管理
  16. excel隐藏行的展现方法
  17. 百度世界2020再曝语义理解领域新进展:文心ERNIE全景图亮相
  18. 广工anyview数据结构第七章(2021.12)
  19. html制作备案表格代码,如何在首页中插入备案编号HTML代码
  20. 证件照蓝底变白底的方法

热门文章

  1. 部署keepalive+lvs多master节点高可用
  2. Java8实战读书笔记-第3章 λ表达式
  3. kali系统破解WiFi密码(二)
  4. 图解数据在网络中的传输过程
  5. 微信小程序加入企业微信群聊
  6. 见过用turtle画表情包的吗!
  7. php显示网络图片,php中显示图片的方法
  8. python苹果下载软件助手哪个好_Mac App Store有哪些值得推荐的软件?为什么?
  9. [sharepoint]文档库,文件夹授权
  10. 1024程序员节来了,