1. 程式人生 > >iOS 使用 github 自建應用內測分發平臺

iOS 使用 github 自建應用內測分發平臺

應用內測分發平臺

首先就是祭出好用的應用內測分發平臺。

一般的應用,通過【蒲公英】和【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 配置步驟

1、新建 github 倉庫,將兩種尺寸的 icon、ipa 上傳上去
2、編寫 manifest.plist ,其中包含 icon 和 ipa 檔案的地址,也上傳到剛剛的 gitbub 倉庫,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>

3、新建另一個倉庫,這個比較特殊,是用來顯示應用下載地址用的,命名為 ‘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>

下載

補充說明

1、github 上的圖片地址:(ipa 的地址也如此獲取)

在這裡插入圖片描述

2、下載頁面的訪問地址為:

3、manifest.plist 檔案在 xcode9 打包中就可以選擇:

選擇

配置資訊

這樣,打包出來的檔案中就包含了 manifest.plist 檔案。

4、進入頁面後直接下載安裝,可以在html 標籤的 head 標記中加入如下的Javascript程式碼

<script>
        var url ="https://manifest.plist檔案地址";
        window.location ="itms-services://?action=download-manifest&url="+ url;
</script>

5、通過iOS應用內安裝

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=https://manifest檔案地址"]];

6、整個過程最關鍵的是 itms-services 協議

"itms-services://?action=download-manifest&url=manifest.plist地址

7、https 伺服器

如果你有自己的可支援 https 的伺服器,你可以將【準備工作】中的檔案統統上傳至伺服器,只需暴露出下載頁面給測試人員,因為 github 畢竟是公開性質的,測試包很容易被其他人拿到,傳輸速度也不夠快;

或者你可以將 ipa 上傳至其他平臺,如七牛等等,修改一下 manifest.plist 中 ipa 地址即可。