1. 程式人生 > >ios app 未釋出前進行大規模測試的一些思路及做法

ios app 未釋出前進行大規模測試的一些思路及做法

正常情況,做好一個蘋果的app,要想讓大眾使用者下載安裝使用,都是上傳到app store,使用者登入app store找到你開發的app下載安裝使用。   但是app能否成功出現在蘋果的app store,還需要有一個時間段讓蘋果對你開發的app進行稽核,如果稽核有問題還要退回解決後重新上傳,所以耗費週期有時很長。   現在問題出現,如果開發出app,先給周邊的朋友、同事測試,假如這個人數有幾十人到上百人,該如何辦呢??   辦法一:把每一臺要安裝app的ios裝置的UDID號複製出來,加入到開發環境,編譯好app後發給使用者,讓使用者把ios裝置連線到電腦,將收到的app拖到itunes,然後和ios裝置同步安裝。這些步驟在一個開發者看來再簡單不過的操作,但是普通的使用者就會說:太複雜,搞不定?
解決app在沒有上傳app <wbr>store前大規模安裝測試問題的一些辦法與思路

  辦法二:辦法一不是太麻煩嘛!亮出第二招。   根據蘋果釋出的“Distributing Enterprise Apps for iOS 4 Devices”說明檔案,蘋果在iOS4中新增了一項功能,就是無線釋出iOS App(installing apps wirelessly)——使用者不需要經過iTunes,只用在Safari中點選一個連結就可以下載並安裝應用。 解決app在沒有上傳app <wbr>store前大規模安裝測試問題的一些辦法與思路

實現起來只需兩步:   1.建立HTML頁面   該頁面用於釋出App,我們可以在這個頁面新增諸如軟體介紹,更新說明等資訊…當然核心程式碼是這個: <a href="itms-services://?action=download-manifest&url=http://iinterest.net/
anifest.plist">Install App</a>當用戶使用Safari瀏覽器瀏覽這個頁面並點選該連結時,iOS裝置會自動識別,返回HOME介面下載並安裝該App,就和我們在iTunes中點選下載按鈕的效果一致。
  2.建立manifest.plist檔案   manifest.plist用於記錄App的一些重要資訊如:下載url、軟體圖示url、軟體名稱等,關於anifest.plist完整例子可以在蘋果的開發文件中找到(在最後)。當然,其實並不需要那麼詳盡的軟體資訊,這裡給個更為精簡的例子: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0">
<dict>    <key>items</key>    <array>        <dict>            <key>assets</key>            <array>                <dict>                    <key>kind</key>                    <string>software-package</string>                    <key>url</key>                    <string>http://www.iinterest.net/ipa/Everlight-3.1-Nathan1233.ipa</string>                </dict>                <dict>                    <key>kind</key>                    <string>display-image</string>                    <key>needs-shine</key>                    <true/>                    <key>url</key>                    <string>http://www.iinterest.net/webapp/images/ifw114.png</string>                </dict>       <dict>                    <key>kind</key>                    <string>full-size-image</string>                    <key>needs-shine</key>                    <true/>                    <key>url</key>                    <string>http://www.iinterest.net/webapp/images/ifw114.png</string>                </dict>            </array><key>metadata</key>            <dict>                <key>bundle-identifier</key>                <string>net.iinterest.www</string>                <key>bundle-version</key>                <string>8.0.3.99</string>                <key>kind</key>                <string>software</string>                <key>subtitle</key>                <string>Everlight</string>                <key>title</key>                <string>Everlight</string>            </dict>        </dict>    </array> </dict> </plist>   以上示例我也是借用這些大俠的勞動成果http://www.iinterest.net/2011/09/22/installing-apps-wirelessly-ipa/。辦法二解決了使用者側的安裝麻煩問題,但是開發者依然需要知道使用者ios裝置的UDID號,一百以內的還好管理,超過一百個UDID,管理起來就很麻煩,而且超過100個,開發者就要申請蘋果的企業開發者賬號了。   有沒有不用UDID號,也能給上百臺ios裝置安裝app的辦法呢。當然是有地。且看辦法三!   辦法三:你可要花大價錢了 其實辦法三,還是使用辦法二的無線釋出iOS App(installing apps wirelessly)套路,只是開發者需要去申請蘋果的EDP(Enterprise developers Program)也就是企業開發者賬戶,這個一年的費是299美刀。   申請EDP還有一個前置的任務,開發者先要申請一個鄧氏全球編碼(D-U-N-S® Number),這個編碼的申請網址是http://www.dnbregistered.com.cn,是國內代理公司。費用分為三個類別:
  •   標準版 8600/兩年     貌似國內大多使用這個
  •   實地考查版 15800/兩年   代理商極力推薦這個
  •   VIP版 21000/兩年
  這個報價是截止到2011年12月5日的報價,據說還要漲價,申請這個編碼的目的就是為了獲取蘋果的認證,讓蘋果知道你是一家值得信賴的企業,蘋果才准許你申請企業開發者賬戶。   有了鄧氏全球編碼,又成功申請了企業開發者賬戶,就可以使用installing apps wirelessly方式,向你的使用者提供app的安裝和下載了,而且你根本不用知道使用者的UDID的。   如果你想測試完,將正式版app釋出到app store上去,我要告訴你這個不行。因為蘋果規定企業開發者賬戶下發布的app,是無法上傳到app store供使用者下載的,這個賬戶只能供內部人員使用,所以如果你想做成收費app,還是老實申請99美刀開發者賬戶。   辦法四:testflight 解決app在沒有上傳app <wbr>store前大規模安裝測試問題的一些辦法與思路
這個辦法,其實是國外一個創業專案 TestFlight,面向移動應用開發者,提供一站式超級簡易的測試平臺,讓開發者的移動應用在上線之前通過真正的使用者進行應用測試。 使用TestFlight,甚至不需要有蘋果開發者賬戶,就可以測試APP。TestFlight提供了一個雲端安裝app的方案,可以大大降低目前iTunes同步的難度。TestFlight能做比雲端安裝app多得多的事情,它的另一大功能是:你可以把測試使用者分成不同的群體,分別提供不同版本的app,比如向公司同事提供一個版本,投資人則是另一個版本。它可以追蹤各個群體的統計資料,還可以幫助開發者招募測試人員。當然,這些都得受蘋果公司的限制(需要識別符號)。TestFlight一樣可以用在iPad和iPod touch這些iOS裝置上。對於想嘗試一下的開發者它是免費的,同時也有一個還沒有確定價格的企業版本。 他的基本工作原理是: 首先是採集使用者資訊:測試使用者在接收到開發者 (Developer) 的 TestFlight 邀請之後,使用者只需拿自己的 iPhone 開啟邀請中的連結,註冊賬號,註冊硬體 ( Register Device ) ,TestFlight 會自動採集使用者 iPhone 的 UDID 、iOS 版本、硬體版本,併發送給開發者。 然後開發者將 IPA 上傳到 TestFlight 網站,然後勾選合適的測試使用者,點選確認,你就完事了。使用者會馬上收到TestFlight 的更新通知。然後,使用者只需在她的 iPhone 上登入 TestFlight 網站, TestFlight 就會自動將測試 IPA 安裝到她的 iPhone 上。 當然還可以實時監測 IPA 的安裝情況。擔心有的使用者沒有成功安裝? TestFlight 能夠實時給你反饋最新統計資料。 原文地址