背景
都晓得 iPhone
苹果手机利用只能通过 AppStore
进行装置,测试包只能通过官网提供的 TestFlight
等工具装置,而且通常有较长的审核流程,无奈及时更新安装包,十分不不便。本文次要介绍前端实现对签名胜利的 App
间接通过浏览器下载安装,开发者能够及时提供测试 App
。
次要流程
- 前提条件,苹果
App
必须签名胜利,这一步由iOS
利用开发者实现。 - 上传到服务器,取得信息和下载地址,失去两个文件,一个是
plist
文件和ipa
文件,及app
图标。 - 通过拜访
plist
文件来达到下载ipa
文件和图片的目标,应用了苹果safari
浏览器自带协定,用a标签或者window.open
形式关上plist
地址。 - 信赖设施并装置。
itms-services:///?action=download-manifest&url=一个https地址
上面是几个过程的具体实现
具体实现
上传资源到服务器
公司文件可部署到公司服务器,本人测试文件能够应用 github
等收费提供文件地址的服务。
ipa
:须要装置的苹果App
打包文件,由iOS
客户端提供;logo
:图片格式的App
图标;plist
:App
下载配置文件。
<br/>
由客户端生成 plist
文件
app.plist
:由客户端配置或更改上面 ipa
下载地址、App
图标地址及 App
形容信息。
<?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://ipa 下载地址</string> </dict> <dict> <key>kind</key> <string>display-image</string> <key>needs-shine</key> <true/> <key>url</key> <string>https://app 图标地址</string> </dict> </array> <key>metadata</key> <dict> <key>bundle-identifier</key> <string>com.xxxx.xxxx.xxxx</string> <key>bundle-version</key> <string>0.1.0</string> <key>kind</key> <string>software</string> <key>title</key> <string>APP名称</string> <key>subtitle</key> <string>App形容</string> </dict> </dict> </array></dict></plist>
<br/>
下载页面
install.html
:提供给用户的下载 html
页面,具体 款式
和 性能
可依据本人的需要调整。
<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"></head><body> <button id="button">下载</button> <script> document.getElementById('button').addEventListener('click', function() { window.open('itms-services:///?action=download-manifest&url=https://pan.xchjw.cn/download/app/CorpPrivateInstall.plist', '_self') }) </script></body></html>
<br/>
实现成果
将下载地址提供给须要的人,点击下载按钮即可实现 App
装置。
市场上很多的散发平台,如蒲公英就是这么做的。
留神:
- 只可在苹果
safari浏览器
中实现下载,其余浏览器中关上可做一些疏导提醒。 - 须要留神的是从
ios7.1
开始,http
推送plist
曾经不能用了,只能应用https
推送,因而拜访这个文件的地址必须是https
结尾的。你能够配置本人的服务器反对https
服务,也能够借助第三方工具。
其余第三方app托管下载服务
咱们不用这么麻烦本人部署这么多文件,齐全能够借助第三方利用内测散发平台,比拟闻名的有上面几个:
- fir.im:收费利用内测托管平台,
iOS
利用Beta测试
散发,Android
利用内测散发 - 蒲公英:收费的利用托管平台,
App
利用众测散发。 - Pre.im:APP内测托管平台首选 -
Beta测试
,收费的利用内测托管平台。 - TestFlight Beta Testing:苹果官网测试平台工具。
文章地址:https://segmentfault.com/a/11... 作者:dragonir