使用 iOS 企業版的證書發布應用可以跳過 Appstore,直接發布到自己的網站,讓其他人在自己的網站上下載安裝,但前提是要用蘋果自帶的Safari 瀏覽器才能下載安裝,其他瀏覽器可能不識別itms-services協議。
apple文檔地址:http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
iOS的APP安裝不像安卓的包只要下載的鏈接是以.apk結尾,然后下載下來后就會自動提示安裝,iOS是先下載下來一個plist文件,然后根據plist里邊配置的鏈接進行下載的.
我先大概說一下下載安裝的流程.首先檢查到需要更新,然后點擊更新后
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"itms-services://?action=download-manifest&url=你的plist文件的下載鏈接"]];
itms-services://?action=download-manifest&url= 這句系統的一個協議命令。
然后系統會去下載這個plist,下載完成后會提示*****要安裝**app,然后點擊安裝就會去下載并安裝。流程大概就是這樣。
-
打開鑰匙串, 點擊鑰匙串訪問—證書助理—從證書頒發機構請求證書。
image - 保存證書,稍后會用到。
3.進入蘋果開發者中心 https://developer.apple.com,登錄你的企業級賬號。選中 Certificates—Production,如果沒有證書就重新創建證書。
image
image
image
image -
點擊 Generate生成證書,點擊 Download后再點擊 Done,完成證書申請。雙擊下載下來的證書文件就完成證書(.cer)的安裝了。
image -
選中 Identifies—App IDs,如果沒有 APP ID就點擊加號創建新的 APP ID。
image -
給你的 APP 填寫App ID Description,Bundle ID填寫你的工程里面的 Bundle ID ,其余的默認。
image
image - 點擊 Continue,進入 APP ID 確認界面,點擊 Submit提交應用后在點擊 Done,完成 APP ID的創建。
-
選中Provisioning Profiles—Distribution,如果沒有Provisioning Profiles就點擊加號創建新的Provisioning Profiles。
image
image -
選中 Distribution—In House,點擊 Continue,為創建的Provisioning Profiles選擇剛剛創建的 APP ID。
image
image -
點擊 Continue,給點前的Provisioning Profiles命名。
image -
點擊 Generate生成Provisioning Profiles,點擊 Download 下載完成后點擊 Done。
image - 雙擊下載下來的Provisioning Profiles文件完成安裝。
-
在 Xcode中為 Target 和 Project 選擇匹配的證書和Provisioning Profiles。
image -
開始打包,選中 target和 iOS 設備,不能使用模擬器,如果沒有 iOS 設備就選中Generic iOS Device。點擊Product—Archive。
image
image
image -
點擊 Next,直到出現為當前 ipa 設置 plist 文件。注意:存放資源的地址必須遵守 https協議。
image - 點擊 Export,會生成一個ipa包和一個plist 文件,確保plsit文件中三個網址后面所接的資源名稱和你要給服務端的資源的名稱相同。如下圖所示,你需要給服務端提供的4個文件分別 是:baidu.ipa,image.57x57.png, image.512x512.jpg 和生成的 plist文件。
注:打完包后可以自己通過 iTunes 將 ipa 包安裝到自己的 iOS 設備,如果能安裝成功說明沒有問題,如果不能安裝說明之前的證書有問題,請按照上面的步驟重新申請證書等文件。
將這些資源傳到用戶可以訪問的區域,當用戶用 Safari 瀏覽器點擊web鏈接時plist文件將會被下載下來,并且觸發它所描述的應用被下載安裝。以下是一個示例鏈接:
<a href="itms-services://?action=download-manifest&url=[https://xxx.com/manifest.plist](https://xxx.com/manifest.plist)">Install APP </a>
請不要添加ipa 的 web 鏈接,當下載完 plist 文件后會自動下載該 ipa 包。雖然 URL 的協議部分是 itms-services, 但 iTunes 并不會參與此過程。
將這些資源傳到用戶可以訪問的區域,當用戶用 Safari 瀏覽器點擊web鏈接時plist文件將會被下載下來,并且觸發它所描述的應用被下載安裝。以下是一個示例鏈接:
<a href="itms-services://?action=download-manifest&url=[https://xxx.com/manifest.plist](https://xxx.com/manifest.plist)">Install APP </a>
請不要添加ipa 的 web 鏈接,當下載完 plist 文件后會自動下載該 ipa 包。雖然 URL 的協議部分是 itms-services, 但 iTunes 并不會參與此過程。服務端的要求:
OS X Server 設置 MIME 類型:
application/octet-stream ipa
text/xml plist
IIS 使用 IIS Manager在服務器的屬性頁面中添加 MIME 類型:
.ipa application/octet-stream
.plist text/xml