iOS使用github自建应用内测分发平台
前提背景(可绕过直接看正文)
应用内测分发平台。
51 用的相对比较少
一般应用,通过【蒲公英】和【fir.im】进行应用分发就可以了,使用简单,应用可管理,下载方式便捷等等。
题外话:
我们这边一直用的是fir,但昨天突然发现fir官网挂了,最开始页面给的是紧急修复中,之后变成通过另外一个域名能临时访问,之后我们这边负责fir那块的同事 联系他们客服,说是他们域名到期导致。(我们公司有付费)截止到今天访问fir,给出了如下解决方案。
fir官网宕机截图
基于fir突然莫名其妙挂掉,我们只好试用别的分发平台,找到蒲公英 发现上传发布都是成功的,最后一步下载二维码 报APP违规,禁止上架。申诉之后蒲公英给出的答复说禁止金融理财类应用上传。
禁止金融理财类应用上传
我们APP涉及通过蓝牙跟mpos连接进行刷卡的交易,大概属于金融类APP。
之后网上无意中看到可以用github自建内测分发平台,于是就捣鼓了一下,小结于此。
正文
两大块
- 存放ipa包的服务器
- 供内测用户下载的html页面
一:配置存放ipa包的服务器
准备资源:
1、ipa包(导包的时候,请注意以下截图细节。图拿的参考连接)
注意红框
2、manifest.list文件
?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>https://github.com/github账号/仓库名称/raw/master/应用.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://github.com/github账号/仓库名称/raw/master/icon-57@1x.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://github.com/github账号/仓库名称/raw/master/icon-512@1x.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>应用BundleID</string>
<key>bundle-version</key>
<string>应用版本</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>应用名称</string>
</dict>
</dict>
</array>
</dict>
</plist>
3、57和512尺寸的icon
上传资源
在自己github上新建一个仓库,将以上123资源上传到该仓库里
github上传资源
二:配置内测用户下载的html页面
提供html页面,供测试用户下载
html页面代码如下,且另新建一个仓库,将该html文件上传到该仓库。
<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>应用名称</title>
</head>
<a style="text-align:center" href="itms-services:///?action=download-manifest&url=manifest.plist的下载连接">点我下载按钮</a>
</html>
manifest.plist的下载连接 格式为:https://github.com/github账号/仓库名称/raw/master/manifest.plist
体验
在手机safri输入https://wangxiaoya.github.io, 点我下载即可下载
访问的过程中若出现,无法连接github.com问题,请尝试用wifi,或者检查manifest.list文件路径是否配置错误
其他
1、进入页面后直接下载安装,可以在html 标签的 head 标记中加入如下的Javascript代码
<script>
var url ="https://manifest.plist文件地址";
window.location ="itms-services://?action=download-manifest&url="+ url;
</script>
2、通过iOS应用内安装
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=https://manifest文件地址"]];
3、整个过程最关键 itms-services 协议
itms-services://?action=download-manifest&url=manifest.plist地址
4、https 服务器
如果你有自己的可支持 https 的服务器,你可以将【准备资源】中的文件都上传至服务器,只需暴露出下载页面给测试人员,因为 github 毕竟是公开性质的,测试包很容易被其他人拿到,传输速度也不够快;
或者你可以将 ipa 上传至其他平台,如七牛等等,修改一下 manifest.plist 中 ipa 地址即可。