itms-services協議,不通過AppStore,直接安裝IOS應用程序

最近開發的一個IOS項目需要不通過將APP發佈到Appstore上直接安裝到客戶手機上,本來覺得蘋果這麼封閉的流程,應該不可以實現的吧,結果竟然還正能實現,這邊主要是利用蘋果自家的瀏覽器safari和itms-services協議,下面介紹下主要步驟和實現過程中遇到的問題。

通過itms-services協議,可以通過safari瀏覽器直接在iOS設備上安裝應用程序。利用這種方式,只要在內網布置一個服務器,測試人員只需要通過測試設備的safari瀏覽器訪問特定的url既可以實現安裝

這邊首先需要將項目打包成ipa文件和生成.plist文件。

一、打包ipa和生成.plist文件具體步驟:

1、在蘋果開發者後臺生成簽名文件,使用developer profile或者adhoc distribution profile這邊注意不能使用distribution profile,因爲這不是發佈到Appstore。
2、生成archive,點擊菜單欄product中的archive選項進行打包
3、在organizer中點擊archive進行distribute,發佈的過程中注意選擇save for enterprise distribution,不然會失敗,完成保存會生成倆文件 .ipa文件和 .plist文件。其中.ipa文件就是應用程序文件, .plist文件是蘋果需要通過itms-services協議訪問的文件。

下面是.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://218.94.107.227:8996/wJob/job.ipa</string>  
                </dict>  
            </array>  
            <key>metadata</key>  
            <dict>  
                <key>bundle-identifier</key>  
                <string>com.qgbes.pjob</string>  
                <key>bundle-version</key>  
                <string>1.0.0</string>  
                <key>kind</key>  
                <string>software</string>  
                <key>title</key>  
                <string>測試APP免Appstore安裝項目</string>  
            </dict>  
        </dict>  
    </array>  
</dict>  
</plist>

屬性不多,不做具體解釋,這邊只關心一點

<key>url</key>  
<string>http://218.94.107.227:8996/wJob/job.ipa</string>

這邊是我們生成的ipa文件存放的位置。

二、現在萬事俱備只欠東風啦,只需要客戶端能夠成功訪問到我們生成的.plist文件即可。

本來覺得和ipa文件一樣,放在服務器上是,訪問一下就OK啦,結果發現,最新版本是不行的,之前確實可以通過http的方式進行訪問plist文件進行安裝,不過現在蘋果規定必須以https的方式進行訪問。

以https方式訪問plist文件的解決方案

1、配置tomat支持https方式訪問
2、利用dropbox分享外鏈進行訪問原始文件
3、利用開源中國的git&osc分享外鏈進行訪問原始文件

說說三種方式,第一種方式:對於只使用http方式訪問來配置的tomcat,本身來改配置代價高,而且沒必要。
第二種方式:dropbox是國外的,而且是要翻牆的,也就是存在不穩定情況,不通用。
第三種方式:國內網站,簡單,穩定

這邊我們也就只是需要訪問個文件,簡單點就在git&osc上放個文件,提供個文件鏈接就OK啦。

這裏寫圖片描述

OK,通過itms-services協議進行訪問下載吧。

三、打開客戶端safari瀏覽器,輸入

itms-services://?action=download-manifest&url=‘plist文件地址’

這樣就結束啦,反正我這邊是安裝成功啦~~~

總結下注意點
1、簽名要使用developer profile或者adhoc distribution profile,不能使用distribution profile
2、個人開發者證書只能在100個設備中實現無線安裝
3、最新版ios設備支持https方式訪問plist文件(ipa文件是可以通過http方式訪問的)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章