使用OTA繞過AppStore安裝App

kim_jin發表於2017-12-26

由於公司專案使用的是企業證書,所以就打算使用O他的方式來進行App的分發安裝。摸索了一個早上,記錄下方法:

首先你得有一個ipa包,一個plist檔案。最重要的就是https的伺服器。

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>http://xxx.com/.../xxx.ipa(ipa檔案的url地址)</string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>display-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>應用icon地址</string>
               </dict>
           <dict>
                   <key>kind</key>
                   <string>full-size-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>應用大icon地址</string>
               </dict>
           </array><key>metadata</key>
           <dict>
               <key>bundle-identifier</key>
               <string>com.xxxx.xxx (應用的id, 要和ipa檔案裡的一樣)</string>
               <key>bundle-version</key>
               <string>1.0.0</string>
               <key>kind</key>
               <string>software</string>
               <key>subtitle</key>
               <string>應用的名稱</string>
               <key>title</key>
               <string>應用的名稱</string>
           </dict>
       </dict>
   </array>
</dict>
</plist>
複製程式碼

將此plist檔案和ipa檔案上傳到伺服器上面,獲取到plist的地址:https://xxx.com/xxx.plist

然後新建一個html檔案,通過a標籤進行下載:

<a href="itms-services://?action=download-manifest&url=https://xxx.com/xxx.plist">Install App</a>

最後使用瀏覽器(Safari)開啟下載即可

成功

  1. 測試的時候可以使用dropbox,不過需要科學上網了。。將Plist,ipa還有其他相關檔案上傳到dropbox後,獲取到共享連結後,需要將共享連結的www.dropbox.com改成dl.dropboxusercontent.com,並且去掉?dl=這些引數(去除所有引數)。親測加上引數後是沒辦法獲取到下載連結的
  2. 國內的七牛雲又拍雲等也有提供https,但是都好麻煩。。會科學上網的還是用dropbox好了。。
  3. 據同事說,上傳到阿里雲後的訪問連結都會加上各種引數,比方說過期時間等,導致沒辦法下載。這個我自己沒有測試過。不過應該所有檔案的連結都不能帶上引數,不然好像會識別不了。這點需要注意。
  4. 如果出現'Cannot connect to server'這樣的提示的話,可能就是檔案無法訪問或者是SSL證書的問題的,切記連結一定要在https下面,且證書有效的。

相關文章