標籤:
白癡級學習iOS 企業包的分發
使用 iOS 企業版的認證發布應用可以跳過 Appstore,直接發布到自己的網站,讓其他人在自己的網站上下載安裝,但前提是要用蘋果內建的Safari 瀏覽器才能下載安裝,其他瀏覽器可能不識別itms-services協議。
一、製作認證檔案
1.修改鑰匙串的配置。
2.開啟鑰匙串, 點擊鑰匙串訪問—認證助理—從憑證授權單位請求認證。
3.儲存認證,稍後會用到。
二、產生並安裝認證
1.進入蘋果開發人員中心 https://developer.apple.com,登入你的企業級帳號。選中 Certificates—Production,如果沒有認證就重新建立認證。
2.點擊下方的 continue,進入到CSR 檔案介紹頁面
3.繼續點擊 continue,進入上傳 CSR 檔案的頁面,也就是剛剛從鑰匙串介面申請的鑰匙串請求(CertificateSigningRequest)檔案,點擊 choose File,找到 CSR 檔案並開啟。
4.點擊 Generate產生認證,點擊 Download後再點擊 Done,完成認證申請。雙擊下載下來的認證檔案就完成認證(.cer)的安裝了。
三、添加企業級的應用
1.選中 Identifies—App IDs,如果沒有 APP ID就點擊加號建立新的 APP ID。
2.給你的 APP 填寫App ID Description,Bundle ID填寫你的工程裡面的 Bundle ID ,其餘的預設。
3.點擊 Continue,進入 APP ID 確認介面,點擊 Submit提交應用後在點擊 Done,完成 APP ID的建立。
四、產生Provisioning Profiles
1.選中Provisioning Profiles—Distribution,如果沒有Provisioning Profiles就點擊加號建立新的Provisioning Profiles。
2.選中 Distribution—In House,點擊 Continue,為建立的Provisioning Profiles選擇剛剛建立的 APP ID。
3.為當前建立的Provisioning Profiles選擇對應的認證。
4.點擊 Continue,給點前的Provisioning Profiles命名。
5.點擊 Generate產生Provisioning Profiles,點擊 Download 下載完成後點擊 Done。
6.雙擊下載下來的Provisioning Profiles檔案完成安裝。
五、打包並發布應用
1.在 Xcode中為 Target 和 Project 選擇匹配的認證和Provisioning Profiles。
2.開始打包,選中 target和 iOS 裝置,不能使用模擬器,如果沒有 iOS 裝置就選中Generic iOS Device。點擊Product—Archive。
3.打包完成後進入Organizer面板,選擇剛剛打完的包,點擊面板右側的 Export,選擇Save Enterprise For Deployment選項。
4.點擊 Next,選擇對應的認證後再選擇匯出給什麼裝置使用。
5.點擊 Next,直到出現為當前 ipa 設定 plist 檔案。注意:存放資源的地址必須遵守 https協議。
6.點擊 Export,會產生一個ipa包和一個plist 檔案,確保plsit檔案中三個網址後面所接的資源名稱和你要給服務端的資源的名稱相同。如所示,你需要給服務端提供的4個檔案分別是:baidu.ipa,image.57x57.png, image.512x512.jpg 和產生的 plist檔案。
註:打完包後可以自己通過 iTunes 將 ipa 包安裝到自己的 iOS 裝置,如果能安裝成功說明沒有問題,如果不能安裝說明之前的認證有問題,請按照上面的步驟重新申請認證等檔案。
7.將這些資源傳到使用者可以訪問的地區,當使用者用 Safari 瀏覽器點擊web連結時plist檔案將會被下載下來,並且觸發它所描述的應用被下載安裝。以下是一個樣本連結:
<a href="itms-services://?action=download-manifest&url=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
白癡級學習 iOS 企業包的分發