一、golang开源工具使用:

1、(必须)解析ipa:goplist "github.com/fork2fix/go-plist"

2、(必须)解析apk:"github.com/shogo82148/androidbinary/apk"       

3、http服务:"github.com/gin-gonic/gin"        

4、数据库存储:

"github.com/jinzhu/gorm"
_ "github.com/jinzhu/gorm/dialects/mysql"

设置mysql链接的时候,建议加上这些: ?charset=utf8mb4&parseTime=true&loc=Asia%2FShanghai,可以解决编码和时区的问题。别问为什么,问了就是眼泪。

二、详细流程

         1. 新建一个web页面,作为研发上传测试包使用. 如果研发打包是自动化的,可以在打包完成之后,直接按照上传包的接口文档来上传文件. 建议包含字段:包名称、打包原因、包类型(beta、rc、online包等,根据公司叫法自己决定吧),是否封板包等信息.

         2. 后边接收包,可以使用gin的存储文件的方法,这里不在赘述. 也可以使用一些高级一些的方法,把包做一些安全处理.如果都放在一个目录里,建议加上时间戳,避免包名重复的问题.

        3.将测试包使用go-plist、apk开源方法进行包解析,获取到里边的buildld、version等信息.根据公司业务自己决定吧. 将包信息和存储位置信息存储到mysql数据库中.其中ipa包需要生成一个.plist文件,在手机下载安装过程中需要使用到.可参考:https://www.jianshu.com/p/d96940211426.   (里边有个错误,plist文件的连接要求是https的,http的说是不通过了,我没有验证过)

         ipa大概步骤:1.生成plist文件,开源包里已经有生成plist文件的方法了,可以进行改造一下,比如说:加个时间后缀啥的.

                              2.生成plist的https下载地址,例如: itms-services://?action=download-manifest&url=https://xxx.com/xx.plist .

                              3.前端拿到这个地址,就可以做二维码 或者点击下载安装功能了.

         apk: 获取包的url下载链接就可以了,例如:https://xxx.com/xx.apk

       4.nginx服务器支持https(ipk必须)、http(我apk没用https) 找运维小哥哥给配置吧,几分钟搞定,自己不是高手的话,配置的话可能会比较麻烦。把下载地址指定到你寸包的地方去.

        6.研发同学就可以在前端扫描或者手机通过浏览器点击进行下载了.

         7.隔壁的那个博客里写了怎么解决移动端适配的问题,写的比较简单粗暴.