应用内测分发平台
首先就是祭出好用的应用内测分发平台。
一般的应用,通过【蒲公英】和【fir.im】进行应用分发就可以了,使用简单,应用可管理,下载方式便捷等等。
下面我们介绍一下如何自行搭建一个分发平台。
准备工作
- 应用程序 ipa 包
- 下载页面 html
- 两张 icon 图片(可选)
- manifest.plist
- 支持 https 的服务器
应用程序 ipa 包:存储在服务器中,下载时需要。
下载页面 html:内测用户访问下载应用包的入口。
两张 icon 图片:57x57和512x512,应用下载时,系统显示。
manifest.plist:其他命名亦可,是一份应用包的配置清单,其中包含了 ipa 包的下载地址。
https 的服务器:主要是应为 manifest.plist 文件需要 https 支持,ipa包以及下载页面和icon图片存储在 https 或者 http 下都可以,这里使用 Github 演示。
实现原理
关键协议:itms-services
itms-services:///?action=download-manifest&url=你的 manifest.plist 文件地址
测试用户访问下载页面,当其触发 itms-services 协议,该协议指向了 manifest.plist 配置清单,该清单中包含了 ipa 的下载地址等信息,这样,系统即可触发安装事件。
Github 配置步骤
- 新建 github 仓库,将两种尺寸的 icon、ipa 上传上去
- 编写 manifest.plist ,其中包含 icon 和 ipa 文件的地址,也上传到刚刚的 github 仓库,manifest.plist 内容如下:
<?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>ipa的下载地址</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>57*57尺寸的icon下载地址</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>512*512尺寸的icon下载地址</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>内测app的bundleidentifier</string>
<key>bundle-version</key>
<string>版本号</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>应用名称</string>
</dict>
</dict>
</array>
</dict>
</plist>
- 新建另一个仓库,这个比较特殊,是用来显示应用下载地址用的,命名为 'git账号名.github.io',将下载页面 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>
网站地址为:https://git账号.github.io/
- 访问 https://git账号.github.io/下载页面 进行安装。
补充说明
- github 上的图片地址:(ipa 的地址也如此获取)
- 下载页面的访问地址为:
https://git账号名.github.io/[路径/]下载页面
如:https://lolita0164.github.io/download.html
- manifest.plist 文件在 xcode9 打包中就可以选择:
这样,打包出来的文件中就包含了 manifest.plist 文件。
- 进入页面时直接下载安装,可以在html 标签的 head 标记中加入如下的Javascript代码
<script>
var url ="https://manifest.plist文件地址";
window.location ="itms-services://?action=download-manifest&url="+ url;
</script>
- 通过iOS应用内安装
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=https://manifest文件地址"]];
- 整个过程最关键的是
itms-services
协议
"itms-services://?action=download-manifest&url=manifest.plist地址
- https 服务器
如果你有自己的可支持 https 的服务器,你可以将【准备工作】中的文件统统上传至服务器,只需暴露出下载页面给测试人员,因为 Github 毕竟是公开性质的,测试包很容易被其他人拿到,传输速度也不够快;
或者你可以将 ipa 上传至其他平台,如七牛等等,修改一下 manifest.plist 中 ipa 地址即可。
总结
自建应用内测分发平台不是一件很难的事情,通过关键协议 itms-services
即可触发系统安装功能。你需要准备的就是应用 ipa 包和一份配置文件 manifest.plist。