前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >ios分发平台搭建_app分发下载

ios分发平台搭建_app分发下载

作者头像
全栈程序员站长
发布2022-11-15 15:11:56
2.1K0
发布2022-11-15 15:11:56
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

我们基本都用过蒲公英或者fir.im做应用分发,但是可有想过他们是怎么实现的吗 如果想自己包里内测包,内部分发,或者企业包的分发,可以参考

自建和三方的优劣对比

产品

优点

缺点

1

自建

稳定 UI和功能可自定义 没有使用限制 方便内测运营

需要开发和维护,投入较大

2

三方

方便快捷,无需开发 功能完备( 版本管理,应用管理 应用合并 开放API 成员管理、统计等 )

有下载次数限制,一般为100次/天,且多款app共享该下载次数 可能需要安装密码,一些场景中不方便使用密码 可能不稳定,偶尔会挂掉 未加壳、加固的内测包上传到第三方平台,被反编译的风险增加 不方便运营,如app调起

  1. 版本管理,应用管理
  2. 应用合并
  3. 开放API
  4. 成员管理、统计等

)

  1. 有下载次数限制,一般为100次/天,且多款app共享该下载次数
  2. 可能需要安装密码,一些场景中不方便使用密码
  3. 可能不稳定,偶尔会挂掉
  4. 未加壳、加固的内测包上传到第三方平台,被反编译的风险增加
  5. 不方便运营,如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 了

配图:

ios分发平台搭建_app分发下载
ios分发平台搭建_app分发下载
ios分发平台搭建_app分发下载
ios分发平台搭建_app分发下载

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

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年11月1日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 自建和三方的优劣对比
    • iOS包管理方案
      • 概述
      • 具体做法
相关产品与服务
对象存储
对象存储(Cloud Object Storage,COS)是由腾讯云推出的无目录层次结构、无数据格式限制,可容纳海量数据且支持 HTTP/HTTPS 协议访问的分布式存储服务。腾讯云 COS 的存储桶空间无容量上限,无需分区管理,适用于 CDN 数据分发、数据万象处理或大数据计算与分析的数据湖等多种场景。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档