关于APP分发我们应该都用过第三方平台做应用分发,可是朋友们有没有思考他们是怎么实现的吗?闲分发告诉你:如果你想自己包里内测包,内部分发,或者企业包的分发,可以参考。
自建和三方的优劣对比
iOS包管理方案 概述
流程步骤:
企业包:【打包】-【配置manifest】-【上传】-【开发前端下载页面】-【下载】
内测包:【添加测试机】-【打包】-【配置manifest】-【上传】-【开发前端下载页面】-【下载】
背景原理:
Apple为了保护ipa包的安全性,不开放直接安装ipa的入口,由Safari的来触发系统命令,增加了直接拿到ipa包的难度(反变异ipa包后,开发信息泄漏的风险就很大)
开发者把ipa的下载地址写入manifest文件,然后把manifest上传到云,这样就可以通过云地址来获取app的基本信息:包地址、icon大、icon小
由Safari的命令(itms-services://?action=download-manifest&url=manifest的地址)来触发内部动作,拉取manifest,读取下载地址,然后下载ipa包,并安装到手机内
用户通过前端页面,如点击按钮,由程序执行上面操作,那么这个安装的过程就被封装起来了,用户没有看到ipa包,只要点击一安装并确定就可以了。
当然了,如果通过手段,分析前端请求和代码,抓取到manifest的云地址,就可以看到ipa的下载地址,这样就拿到了ipa包,只不过是这个过程就比直接提供ipa要复杂很多,破解成本提高了很多。
具体做法
1、准备云存储服务(七牛、阿里),打开上传文件功能,有自己的api上传也可以。
2、打包勾选Additional Options,并填写下载地址、图片地址。
一般来说,先上传图到云,拿到图片地址,然后修改文件名部分就行了,下次上传还使用同样的文件名就 OK 了
配图:
3、上传ipa到配置好的地址,上传由manifest.plist文件
这里有个tips,第二步骤就是的配置就是为了打包后多生成一个manifest.plist文件,如果你很熟练,可以跳过配置,直接打包,然后自己去修改manifest文件,再上传到云,效果是一样的。具体manifest是什么样的,自己打包生成一个看下。特别是自己开发包管理的后台管理功能时,应该熟练使用manifest文件的编辑。
4、在Safari中安装app
设manifest地址为url,则可在Safari中输入itms-services://?action=download-manifest&url=url,然后会提示是否下载,确定即可下载。这里需要主要的是,如果url中有特殊字符,需要编码。在Safari中输入的链接仅仅是测试你的配置做法是否正确,真正用的时候需要前端做个叶页面,来执行我们输入的地址命令,这样会更加友好
5、企业包和内侧包
如果打企业包,在开通企业账号的前提下,打包时选择Enterprise的方式即可
如果打内测包,需要提前把测试机的UDID倒入公司的测试名单内,倒入方法这里就不啰嗦了,打包时选择Ad Hoc即可。
闲分发提醒您:可以依据自身的需要,如果大范围内测,或者安全性要求比较高,或者对下载页面要求比较高,且有一定的人力资源,那么可以自己开发;如果只是内部使用,可以做的简单一点;如果人力紧张,且只是内部测试时使用,而且安全要求不是很高(代码中没什么可泄漏的)就别瞎折腾了,还是集中精力做业务吧。