經過 itms-services 協議,發佈或者分享 iOS 應用程序

 

導讀:itms-services 協議經常使用於 iOS 企業應用的無線部署,這可在不使用 iTunes 的狀況下將內部軟件發佈或者分享給用戶。html

1、前期準備資料:服務器

一、應用程序 (.ipa) 文件(使用了企業級預置描述文件);二、清單 (.plist) 文件(xml格式的清單描述文件)。app


2、準備清單 (.plist) 文件:dom

咱們的清單文件時一個xml格式的文件,能夠參考以下代碼:ide

<?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://domain/app.ipa</string>
               </dict>
               <dict>
                   <key>kind</key>
                   <string>display-image</string>
                   <key>needs-shine</key>
                   <true/>
                   <key>url</key>
                   <string>http://domain/logo/logo.png</string>
               </dict>
           </array>
           <key>metadata</key>
           <dict>
               <key>bundle-identifier</key>
               <string>domain</string>
               <key>bundle-version</key>
               <string>1.0.0</string>
               <key>kind</key>
               <string>software</string>
               <key>subtitle</key>
               <string>App Subtitle</string>
               <key>title</key>
               <string>App Title</string>
           </dict>
       </dict>
   </array>
</dict>
</plist>url

描述文件須要注意的三個地方:xml

一、兩個 url 地址,即 software-package 和 display-image 的 URL,前者是所要安裝的 ipa 地址,後者是安裝時桌面顯示的 logo 圖標。
二、metadata裏須要修改 bundle-identifier 和 bundle-version,具體是什麼就不用介紹了,可是要注意必定要跟所安裝的 ipa 包內容一致,否則沒法安裝成功。
三、能夠修改title和subtitle,定製安裝時彈出框的內容。htm


3、ipa格式應用的分享或者發佈ip

可使用如下兩種方式提供下載:部署

第1種是點擊下載,在網頁中加入以下的連接就好了:

<a href="itms-services://?action=download-manifest&url=http://domain/manifest.plist">下載App</a>

備註:請勿使用應用程序 (.ipa) 的 Web 連接方式提供下載。當打開清單文件(manifest.plist)時,設備會下載該 .ipa。雖然 URL 的協議部分是 itms-services,但 iTunes Store 並不參與此過程。

第2種是經過JavaScript自動下載,參考代碼:

<script>
        var url = "http://domain/manifest.plist";
        window.location = "itms-services://?action=download-manifest&url=" + url;
</script>

備註:此代碼放到 html 標籤的 head 標記中,這樣就會自動提示下載和安裝了。


4、設定服務器 MIME 類型

配置 Web 服務器的MIME 類型,以便正確地傳輸清單文件(.plist)和應用程序文件(.ipa)。

一、對於 OS X Server,將如下 MIME 類型添加到 Web 服務的「MIME Types」(MIME 類型)設置中:

application/octet-stream ipatext/xml plist

二、對於 MS 的 IIS,使用 IIS Manager 在服務器的「屬性」頁面中添加 MIME 類型:

.ipa application/octet-stream.plist text/xml

完結!

相關文章
相關標籤/搜索