當(dāng)我們?cè)诜职l(fā)企業(yè)應(yīng)用時(shí),我們可以通過(guò) OTA 進(jìn)行無(wú)線安裝畔况。
準(zhǔn)備分發(fā)應(yīng)用
要分發(fā)企業(yè)內(nèi)部應(yīng)用鲸鹦,首先需要打包應(yīng)用(.ipa 文件)和創(chuàng)建用于啟用無(wú)線分發(fā)和應(yīng)用安裝的清單文件。
最新的 Xcode 在打包應(yīng)用時(shí)能夠幫助生成清單文件跷跪,只需要在導(dǎo)出時(shí)選擇:
并填寫(xiě)軟件基本信息馋嗜,如下圖:
這些信息對(duì)應(yīng):
- Name 對(duì)應(yīng)清單文件中的 title 字段:下載和安裝過(guò)程中顯示的應(yīng)用名稱(chēng)
- App URL 對(duì)應(yīng) URL 字段:應(yīng)用 (.ipa) 文件的 HTTPS 完整 URL
- Display Image URL 對(duì)應(yīng) display-image 字段:下載和安裝過(guò)程中顯示的應(yīng)用圖標(biāo),57 x 57 像素 PNG 圖像的完整 URL
- Full Size Image URL 對(duì)應(yīng) full-size-image 字段:iTunes 中顯示的應(yīng)用圖標(biāo)吵瞻,512 x 512 像素 PNG 圖像的完整 URL
Xcode 將會(huì)生成相應(yīng)的 .ipa 和 manifest.plist 文件葛菇。完整的 manifest 可見(jiàn)蘋(píng)果幫助[1]。
接下來(lái)就可以將頁(yè)面中的 App 下載鏈接指向該清單文件:
<a href="itms-services://?action=download-manifest&url=https://example.com/manifest.plist">Install App</a>
一個(gè)完整的單頁(yè)面網(wǎng)站結(jié)構(gòu)可能包含如下文件:
搭建下載服務(wù)器
接下來(lái)就是將文件部署到 Web 服務(wù)器上橡羞,參考《Mac OS X 啟用 Web 服務(wù)器》啟動(dòng) Apache 服務(wù)眯停,并將第一步生成的文件放到部署到站點(diǎn)根目錄下。
在 iOS 上可以使用 Safari 訪問(wèn)部署服務(wù)器地址卿泽,由于 iOS 7.1 或更高版本通過(guò)無(wú)線安裝企業(yè)應(yīng)用時(shí)莺债,要求使用 HTTPS 部署,當(dāng)點(diǎn)擊安裝鏈接時(shí),會(huì)提示服務(wù)器上的證書(shū)無(wú)效齐邦,如圖:
我們可以根據(jù)《Mac OS X 啟用 Web 服務(wù)器》的步驟啟用 HTTPS 服務(wù)椎侠。
但由于我們的測(cè)試服務(wù)器是自簽名證書(shū),不被信任措拇,訪問(wèn)時(shí)會(huì)彈出:
這時(shí)候如果選擇繼續(xù)或(詳細(xì)信息->信任)肺蔚,Safari 會(huì)添加一個(gè) SSL例外 以繼續(xù)訪問(wèn)站點(diǎn)并防止警告提示,但這并不會(huì)將證書(shū)安裝到 iOS 中成為可信任的證書(shū)儡羔。這時(shí)如果點(diǎn)擊下載鏈接時(shí)宣羊,依然會(huì)彈出無(wú)法安裝應(yīng)用:
因此,我們需要將自簽名證書(shū)安裝到iOS中:
將證書(shū)文件 (.crt) 拷貝到站點(diǎn)根目錄下汰蜘,簽名文件路徑見(jiàn)《Mac OS X 啟用 Web 服務(wù)器》仇冯。
-
將頁(yè)面中添加證書(shū)文件鏈接:
<a >Install ssl</a>
-
在 Safari 中點(diǎn)擊安裝應(yīng)用前先點(diǎn)擊安裝證書(shū),此時(shí) iOS 會(huì)跳到 設(shè)置 頁(yè)面族操,并提示安裝描述文件:
點(diǎn)擊 安裝 將證書(shū)安裝到 iOS 中苛坚。之后可以通過(guò) 設(shè)置 -> 通用 -> 描述文件 查看和刪除證書(shū)文件。 -
再次回到 Safari 點(diǎn)擊安裝鏈接色难,此時(shí)泼舱,就可以正常下載和安裝了企業(yè)應(yīng)用了。
小結(jié)
由于之前的例子證書(shū)是綁定的域名 local.server.com
枷莉,因此在 iOS 設(shè)備上訪問(wèn)時(shí)也必須使用該域名娇昙,而非 IP 地址,這里笤妙,我是通過(guò)將 Mac OS X 作為代理服務(wù)器冒掌,并設(shè)置 iOS 的 HTTP 代理之后訪問(wèn)的,Mac 上可以使用代理軟件蹲盘,iOS 設(shè)置 HTTP 代理方式如下股毫, 設(shè)置 -> 無(wú)線局域網(wǎng) -> 選擇連接的局域網(wǎng) -> HTTP 代理 -> 手動(dòng) 輸入地址和端口:
當(dāng)然,也可以在生成證書(shū)時(shí)綁定直接服務(wù)器 IP 地址召衔。
-
以無(wú)線方式安裝企業(yè)內(nèi)部應(yīng)用:http://help.apple.com/deployment/ios/#/apda0e3426d7 ?