天天看點

前端實作iPhone繞過AppStore從浏覽器安裝App

前端實作iPhone繞過AppStore從浏覽器安裝App

背景

都知道

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

    下載下傳配置檔案。

由用戶端生成

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>
           

下載下傳頁面

📃

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>
           

實作效果

将下載下傳位址提供給需要的人,點選下載下傳按鈕即可實作

App

安裝。

前端實作iPhone繞過AppStore從浏覽器安裝App
市場上很多的分發平台,如蒲公英就是這麼做的。

注意:

  • 隻可在蘋果

    safari浏覽器

    中實作下載下傳,其他浏覽器中打開可做一些引導提示。
  • 需要注意的是從

    ios7.1

    開始,

    http

    推送

    plist

    已經不能用了,隻能使用

    https

    推送,是以通路這個檔案的位址必須是

    https

    開頭的。你可以配置自己的伺服器支援

    https

    服務,也可以借助第三方工具。

其他第三方app托管下載下傳服務

我們不必這麼麻煩自己部署這麼多檔案,完全可以借助第三方應用内測分發平台,比較出名的有下面幾個:

  • fir.im:免費應用内測托管平台,

    iOS

    應用

    Beta測試

    分發,

    Android

    應用内測分發
  • 蒲公英:免費的應用托管平台,

    App

    應用衆測分發。
  • Pre.im:APP内測托管平台首選 -

    Beta測試

    ,免費的應用内測托管平台。
  • TestFlight Beta Testing:蘋果官方測試平台工具。
文章位址:https://www.cnblogs.com/dragonir/p/14412729.html 作者:dragonir

繼續閱讀