背景

都晓得 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 图标;
  • plistApp 下载配置文件。

<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