Over-The-Air (OTA)無線發佈iOS Enterprise Program App

0.前置作業:

  • 把iOS Enterprise Program的Certificate安裝到要build App的電腦上
  • 產生Enterprise Program的Provisioning File
  • 把App寫好,build出.ipa檔
  • 準備好57×57和512×512的icon圖檔各一個,這是App在下載途中顯示在手機螢幕上用的。
  • 準備好一個網站server,本篇文章假設你的網域名稱叫做www.apple.com

1.事前提醒:

  • 如果你原本有在用iOS Individual Developer Program,在Xcode裡面build App的時候,可能會和Enterprise Program的certificate衝到。可以先把iOS Developer Program的certificate從Keychain裡面輸出並且移除,之後再重新安裝回來。

2準備manifest檔案:

  • 用Xcode寫好manifest檔案,格式可以參考Apple的說明文件
  • 在manifest檔案裡面寫好ipa、icon圖示在網站空間上的存放位置,寫好Provisioning File。
  • 官方文件的manifest範例有提到md5:
    • 這是預防下載安裝App的時候出錯,所以可以設定成下載一部分的同時先做檢查,檢查無誤再下載另外的部份。
    • Apple的說明文件的manifest寫法是假設你把ipa檔案分成兩份,第一份的md5-size設定為10485760,兩份檔案的md5s分別為41fa64bb7a7cae5a46bfb45821ac8bba和51fa64bb7a7cae5a46bfb45821ac8bba。如果你不想要做這樣的設定,可以把有md5字樣的key通通刪除。
  • 在這裡假設把manifest檔案命名為app.plist

3.Manifest檔案範例示意圖:




4.準備下載頁面:

  • 寫一個簡單的html頁面,讓人連到這個頁面來下載App
  • 這裡假設你的頁面命名為http://www.apple.com/download.html
  • 在頁面裡寫上:
  • 注意:上面的連結是要寫manifest的連結,不是ipa的連結

5.流程:

  • 把Provisioning File包到App,Code Sign是iPhone Distribution
  • build成ipa,記得是要選擇Distribute for Enterprise。在這裡假設把ipa檔命名為app.ipa
  • 把download.html上傳到www.apple.com/download.html
  • 把app.ipa、app.plist兩個檔案以及57×57和512×512的icon檔案上傳到你的網站空間,所有檔案的網址都要和你寫在manifest檔案(app.plist)中的一致

6.結語

如此一來,用iPhone連上www.apple.com/download.html這個頁面之後,點選”Install The Application”,就會把你的App下載到iPhone上面了!

簡介Apple iOS Enterprise Program

適用對象:

  • 公司想開發In-House App發送公司內部員工使用
  • 公司必須有Dun & Bradstreet (D-U-N-S) Number鄧白氏編碼
  • 例如:BBC自己開發給BBC記者專用的App

幾項大重點:

  • 申請的等待時間可長可短,目前有聽說有人申請了半年才收到Apple回音。
  • 不能把App上架到Apple App Store
  • Ad-Hoc Distribution的Provisioning File:
    • 把App安裝到iOS裝置上做測試使用。
    • Developer帳號一年只能發送App到至多100台iOS裝置。
  • In-House Distribution的Provisioning File
    • 則沒有iOS裝置數量限制
    • 權限可說是無限大。只要把這個Provisioning File綁在App的.ipa檔案裡面,可以在任何一台iOS裝置上安裝,而不須像Ad Hoc一樣必須事先把裝置登記到Provisioning File中(在http://developer.apple.com中的Devices頁面)。

發佈App方式:

  • 法一:用Ad-Hoc Distribution,把.ipa檔燒進有登記到Provisioning File的iOS裝置中。
  • 法二:把ipa檔案,綁上In-House Distribution的Provisioning File,用email發佈給公司員工,透過iTunes來安裝App。
  • 法三:透過OS X Lion Server的Profile Manager,綁上In-House Distribution的Provisioning File,用推播訊息(Push Notification)無線通知使用者下載安裝。
  • 法四:Over-The Air:綁上In-House Distribution的Provising File,架一個只有讓公司員工可以連上的網頁,把App放在網頁中供人下載安裝。
  • 法五:用第三方MDM(Mobile Device Management) Solution。

控管:

參考資料:

  1. http://developer.apple.com/support/ios/enterprise.html
  2. http://images.apple.com/iphone/business/docs/20110801_In-house_App_Accelerator_Guide.pdf
  3. http://www.apple.com/iphone/business/integration/mdm/
  4. http://developer.appcelerator.com/question/88651/developingdistributing-inhouse-apps
  5. http://www.prnewswire.com/news-releases/distributing-in-house-apps-now-a-snap-for-apple-iphones-88806962.html
  6. http://developer.apple.com/library/ios/#featuredarticles/FA_Wireless_Enterprise_App_Distribution/Introduction/Introduction.html
  7. images.apple.com/iphone/business/docs/iPhone_MDM.pdf
  8. 申請D-U-N-S Number:https://eupdate.dnb.com/requestoptions.asp