應用內測分發平臺
首先就是祭出好用的應用內測分發平臺。
一般的應用,通過【蒲公英】和【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。