背景
沒有自建iOS測試服務(wù),iOS測試大多依賴蒲公英測試平臺(tái)或者fir.im建蹄,若沒有遇到什么問題,繼續(xù)使用第三方平臺(tái)也未嘗不可迎吵。
使用第三方的測試平臺(tái)躲撰,可能遇到的一些問題,下邊列舉一下:
- 安全不可控:測試包的安全問題击费,泄漏測試包拢蛋,破解風(fēng)險(xiǎn)增大
- 網(wǎng)絡(luò)不可控:下載慢,可能是偶爾慢蔫巩,但是慢的時(shí)候是真慢谆棱,砸手機(jī)的沖動(dòng)都有
- 第三方平臺(tái)限制:雜七雜八的快压,比如下載次數(shù)有限,另外有些還必須要填寫各種資料等
樓主使用python+react全棧搭建iOS測試平臺(tái)垃瞧,代碼暫時(shí)不開源蔫劣,實(shí)現(xiàn)過程有問題可以一起溝通。
iOS測試包安裝流程
iOS設(shè)備發(fā)起請求个从,固定格式為:itms-services://?action=download-manifest&url=xxx.plist
url指向manifest文件在服務(wù)端的地址脉幢,manifest文件(xx.plist)中包含了iOS安裝包的圖標(biāo),iOS安裝包服務(wù)端地址等信息嗦锐,iOS設(shè)備會(huì)自動(dòng)獲取manifest文件中的這些信息并自動(dòng)開始下載安裝嫌松。安裝完成后會(huì)校驗(yàn)簽名,簽名不通過iOS設(shè)備會(huì)立即刪除此app奕污。
實(shí)現(xiàn)方案
自己搭建iOS測試服務(wù)萎羔,技術(shù)上沒有太大難度,但是一般的服務(wù)端開發(fā)碳默,比如java后端贾陷,他并不懂iOS測試包構(gòu)建,簽名校驗(yàn)嘱根,下載安裝流程等相關(guān)知識(shí)髓废,就導(dǎo)致懂的人不會(huì)寫服務(wù)端,會(huì)寫服務(wù)端業(yè)務(wù)的人不懂技術(shù)實(shí)現(xiàn)该抒。
服務(wù)端幾個(gè)必要的接口:
- 上傳ipa:接收iOS測試包瓦哎,即.ipa文件
- 上傳manifest:manifest文件下載接口
- 圖標(biāo)地址:ipa包的圖標(biāo)57x57,全尺寸圖標(biāo)512x512柔逼,png格式蒋譬,配置在manifest文件中
- 下載ipa:蘋果安裝要求,必須支持https愉适,配置在manifest文件中
- 下載列表:供前端頁面展示
上傳處理流程
1.接收并保存.ipa包
2.ipa包改名zip犯助,解壓后分析payload文件夾下的info.plist文件,獲取bundleId维咸,version等測試包信息
3.生成manifest文件剂买,網(wǎng)上有示例,搜索一下癌蓖,改一些參數(shù)即可瞬哼。
下載列表
可以拼接好itms-services://?action=download-manifest&url=xxx.plist地址給前端,再附加一些必要的參數(shù)租副,比如標(biāo)題坐慰,版本,分支信息等用僧。
需要注意的點(diǎn)也就這么多吧结胀,其他都是常規(guī)的業(yè)務(wù)處理赞咙,有不懂歡迎留言。