大家好,又见面了,我是你们的朋友全栈君。
我们基本都用过蒲公英或者fir.im做应用分发,但是可有想过他们是怎么实现的吗 如果想自己包里内测包,内部分发,或者企业包的分发,可以参考
自建和三方的优劣对比
产品 | 优点 | 缺点 | |
---|---|---|---|
1 | 自建 | 稳定 UI和功能可自定义 没有使用限制 方便内测运营 | 需要开发和维护,投入较大 |
2 | 三方 | 方便快捷,无需开发 功能完备( 版本管理,应用管理 应用合并 开放API 成员管理、统计等 ) | 有下载次数限制,一般为100次/天,且多款app共享该下载次数 可能需要安装密码,一些场景中不方便使用密码 可能不稳定,偶尔会挂掉 未加壳、加固的内测包上传到第三方平台,被反编译的风险增加 不方便运营,如app调起 |
- 版本管理,应用管理
- 应用合并
- 开放API
- 成员管理、统计等
)
- 有下载次数限制,一般为100次/天,且多款app共享该下载次数
- 可能需要安装密码,一些场景中不方便使用密码
- 可能不稳定,偶尔会挂掉
- 未加壳、加固的内测包上传到第三方平台,被反编译的风险增加
- 不方便运营,如app调起
用过的三方托管平台:
- 蒲公英(https://www.pgyer.com)
- fir.im(https://www.betaqr.com/apps)
- 其他
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即可。
根据企业的需要,如果大范围内测,或者安全性要求比较高,或者对下载页面要求比较高,且有一定的人力资源,那么可以自己开发;如果只是内部使用,可以做的简单一点;如果人力紧张,且只是内部测试时使用,而且安全要求不是很高(代码中没什么可泄漏的)就别瞎折腾了,集中精力做业务吧,用三方服务来分发。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/234787.html原文链接:https://javaforall.cn