iOS企業版打包 發佈在線安裝包 plist

本文轉載至 http://blog.csdn.net/u011452278/article/details/49511385html

原文轉載:http://blog.csdn.net/pang040328/article/details/40924737ios

 

新版的xcode(6.1)在導出企業級ipa時並無「saved for enterprise distribution」這個選項,因此須要手動添加該plist文件。git

必備條件:一、申請 iOS Developer Enterprise Program,須要$299/年;xcode

二、須要一個有效的SSL證書(訪問plist文件用到),能夠來着http://www.freehao123.com/startssl-ssl/ 搞一個;瀏覽器

具體步驟以下:服務器

一、建立Production 證書網絡

 

點擊紅色方框的+圖標app

選擇In-house and Ad Hoc,因爲已經建立過該類證書,因此不能再次建立。點擊continue後會要求上傳證書請求文件,具體的證書建立過程請參考http://blog.csdn.net/abbottsuccess/article/details/4445160。證書生成後下載(cer)文件,雙擊安裝,可在鑰匙串中查看到已安裝的證書dom

二、建立Provisioning Profileside

選擇In House ,點擊繼續

選擇App ID(關於如何建立APP ID請查看步驟一的連接),繼續

選擇步驟一建立的發佈證書(別選錯),繼續

下載,以後雙擊安裝該文件(安裝時間很短,肯定雙擊便可)

三、建立IPA及plist

打開Xcode,點擊左上角的工程名稱,在TARGETS中點擊工程名,選中頂部的General, Team選擇爲在 iOS Developer Enterprise Program建立的帳號。

選擇工程,在Build Settings中的Code Signing中將Debug、Distribution、Release全選擇爲步驟一中安裝好的證書,Provisionning Profile選擇爲所下載的那個文件。返回到TARGETS,在Build Settings中進行一樣的操做。

在Xcode的菜單欄上選擇Product -> Archive

選擇 Export,

 

選擇Save for Enterprise Deployment,next

按要求選擇帳號,而後繼續便可,最後就是導出ipa了(注意,沒有任何Save for Enterprise選項)

 

截止目前爲止,ipa已經生成了,可是因爲6以上的xcode已經不支持自動生產plist文件,因此須要本身建立plist文件。Dropbox有個樣例,能夠參考一下https://www.dropbox.com/s/a8hpnmq654pmbaw/AppName.plist?dl=0

四、經過網絡安裝ipa

注意:plist文件的名稱必須跟ipa文件名稱一致

1)將plist與ipa文件上傳至服務器,

[html]  view plain copy
 
  1. 建立網頁,包含以下代碼:<href="itms-services://?action=download-manifest&url=https://mydomain.com/apps/MyInHouseApp.plist" id="text">Install the In-House App</a>  
[html]  view plain copy
 
  1.   

 

url必須是https,不然ipa沒法安裝。

2)有些服務器可能還須要配置一些mime type,以下:

 

application/octet-stream ipa

text/xml plist

 

  • 原始plist文件以下:

 

 

 

[html]  view plain copy 在CODE上查看代碼片 派生到個人代碼片
 
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">  
  3. <plist version="1.0">  
  4. <dict>  
  5.     <key>items</key>  
  6.     <array>  
  7.         <dict>  
  8.             <key>assets</key>  
  9.             <array>  
  10.                 <dict>  
  11.                     <key>kind</key>  
  12.                     <string>software-package</string>  
  13.                     <key>url</key>  
  14.                     <string>THE URL FOR YOUR IPA: ex: http://go.com/appname.ipa</string>  
  15.                 </dict>  
  16.                 <dict>  
  17.                     <key>kind</key>  
  18.                     <string>full-size-image</string>  
  19.                     <key>needs-shine</key>  
  20.                     <true/>  
  21.                     <key>url</key>  
  22.                     <string>THE URL FOR INSTALLATION @2x ICON: ex: http://go.com/Icon@2x.png</string>  
  23.                 </dict>  
  24.                 <dict>  
  25.                     <key>kind</key>  
  26.                     <string>display-image</string>  
  27.                     <key>needs-shine</key>  
  28.                     <true/>  
  29.                     <key>url</key>  
  30.                     <string>THE URL FOR INSTALLATION ICON: ex: http://go.com/Icon.png</string>  
  31.                 </dict>  
  32.             </array>  
  33.             <key>metadata</key>  
  34.             <dict>  
  35.                 <key>bundle-identifier</key>  
  36.                 <string>YOUR BUNDLE ID (Take it from your Xcode Project)</string>  
  37.                 <key>bundle-version</key>  
  38.                 <string>1.2.3 Your app version</string>  
  39.                 <key>kind</key>  
  40.                 <string>software</string>  
  41.                 <key>title</key>  
  42.                 <string>The Title To Present To The User installing the app</string>  
  43.             </dict>  
  44.         </dict>  
  45.     </array>  
  46. </dict>  
  47. </plist>  


我在剛開始測試時,沒有指定<full-size-image>和<display-image>段的圖片地址,致使應用在ios6和ios7設備上能夠安裝,但ios8設備上能夠下載沒法安裝,你們能夠注意一下這個問題;

 

另外<bundle-identifier>段,這裏的註釋是「輸入你的BUNDLE ID(能夠從XCODE的工程中獲取)」。但我輸入的是potal中完整的APPID,形如"X6J85AD.com.xx.xx"這樣,也能夠正常下載和安裝。

 

  • plist存放位置

 

plist下載必須使用https協議,要麼就花錢買個SSL證書給網站添加https支持,

不想花錢的可使用OSChina的代碼託管。

訪問https://Git.oschina.NET,添加一個項目;而後用git或svn客戶端將plsit文件提交到版本庫中;最後在瀏覽器中訪問項目中的plsit文件,查看原始數據,便可得到plsit的https下載地址。

 

最後貼圖,證實上述所說的都不是扯蛋

 

相關文章
相關標籤/搜索