1. 程式人生 > >蘋果安裝app的另一種方式(通過itms-services協議,不通過AppStore,直接安裝IOS應用程式)

蘋果安裝app的另一種方式(通過itms-services協議,不通過AppStore,直接安裝IOS應用程式)

最近有一專案的要求是不通過蘋果商店,二是通過掃描二維碼進行下載app,當然了安卓手機是非常容易做到的,這裡主要講述蘋果的。以及兩個應用合併為一個的知識點。其實很多分發平臺就是這樣做的。比如:fir.im等等吧。那麼接下來我們開始我們的部落格內容。

其實分發平臺很多是獲取你上傳的app,會生成兩個檔案一個是plist檔案,通過他我們可以下載對應的ipa檔案。

那麼plist檔案內容是這樣的。內容主要是告訴我們下載ipa檔案的地址和icon圖片的下載地址。這個檔案必須通過https的訪問才可以。因為現在蘋果規定必須以https的方式進行訪問

同學們一定很好奇,這中間是怎麼一個過程呢。其實是利用蘋果自家的瀏覽器safari和itms-services協議來實現的。

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

當我們上傳我們的app到伺服器上的時候,我們會把所有的地址儲存起來,並把相關的資訊都儲存在資料庫。這樣就會在展示頁顯示我們app的資訊:如圖所示,此處我是關聯了兩個程式。其實就是一個欄位相互引入各自的下載路徑,通過判斷裝置來進行下載,來實現二維碼合二為一。

接下來,在我們的二維碼掃描頁面,

然後我們看一下手機上,下載按鈕連線的地址是什麼。其實就是install.php中的內容,裡面就是我們通過蘋果的協議,來進行下載的連線。

我們來看看install的內容:

那麼如果沒有https的環境,也沒關係,我們可以利用第三方的外鏈來實現。放到第三方平臺,比如七牛雲或者碼雲上去,我這裡是放到了碼雲上去,只需要把這裡的地址換成碼雲上原始檔的地址就可以。

那麼接下來我們就可以實現掃描二維碼下載app到蘋果和安卓手機了,那麼我們看一下測試的效果:

那麼到現在我們實現了通過另外一種方式安裝蘋果app的方法,這也是很多內部分發平臺的實現原理。對於這種的安裝方式,在開啟APP的時候會提示是否信任此裝置。這也是沒有從蘋果商店下載的好處,你需要去信任這個,至於位置就是在設定——》通用——》裝置管理——》此處位置:

當然現在很多分發平臺是有直接跳轉到這裡的功能的。

其實就是一個a標籤的連線,直接跳轉到裝置管理的位置。

說了這麼多,整個app的安裝過程我們就講述完了。然後就是可以愉快的使用我們的app了。那麼總結一下,主要的知識點就是:

1.蘋果app必須簽名成功。

2.上傳到伺服器,獲得資訊和下載地址,得到兩個檔案,一個是plist檔案和ipa檔案,當然還有圖片。

3.通過訪問plist檔案來達到下載ipa檔案和圖片的目的,使用了蘋果的itms-services:///?action=download-manifest&url=一個https地址

4.信任裝置。

5.其他知識點:二維合一,就是一個判斷,和得到相互的下載地址,然後繼續上述的協議,下載app。

市場上很多的分發平臺就是這麼做的。公司的一個專案需要這樣的技術,所以就把整個過程給大家過一遍,希望可以幫助更多的人,來了解一下這個技術。與所有程式愛好者共勉.......