2012年8月10日 星期五

真實世界的App上架流程


一個真實App的上架或改版,往往比課本裡教的複雜許多。單單將App精美地包裝送到Apple評審手上只是基本功,想要成為App高手,其實還有以下2點要注意:
(1) 專案的版本記錄
(2) crash report的收集

由於Xcode對於git先天的良好支援,目前大部分的App皆以git作為版本管理。為了將來能夠隨時回到過去,研究某個上架版App的問題,最好在每一次上架時,利用git的tag功能,將當時的專案做個版本記錄。

至於Crash Report,也就是所謂的錯誤回報,對於一個追求App盡善盡美的App高手而言,可以說是再多錢也買不到的稀世珍寶。有了crash report,我們可以大幅縮短找尋App當掉原因所花的時間。彼得潘過去年少不懂事,曾經採用最笨的方法,相約遇到問題的使用者一起出來喝咖啡複製問題。然而時代進步了,現在彼得潘每個月花個10美金,HockeyApp將貼心地幫彼得潘收集使用者的crash report,並聰明地解析crash原因。



連出問題的檔案和行數都解析出來的神機秒算HockeyApp。



接下來彼得潘將以Passion Bean最近上架的App LOCOMO為例,說明一個真真實實上架App的完整上架流程。




1. 在iTunes Store上建立欲上架的App版本,並將狀態設為Waiting For Upload。



2.  從Xcode設定上架App的版號。(Version和Build欄位)
   
點選專案檔,然後從Targets清單裡選定要上架的App Locomote,於 Locomote的Summary頁面設定版號。

注意: Version欄位必須和iTunes Connect上設定的一致。    







3.  選擇release的scheme



LOCOMO包裝時,可分為平常每天包裝給測試人員試用的Ad Hoc版以及正式上架App Store的Release版。由於此兩個版本需要不同的provisioning profile,因此彼得潘建立以下3種不同的Configuration。
(1) Debug: 開發人員測試,結合development profile
(2) Release:  App Store上架版,結合App Store的distribution profile
(3) Adhoc: 測試人員測試,結合Adhoc的distribution profile





為了包裝方便,彼得潘建立2個scheme,Locomote Releaes和Locomote,將Archive的Build Configuration分別設為Release和Adhoc,以對應App Store版和Adhoc版。






4.  將compile目標切換到iOS Device

如果compile目標是模擬器,將無法進行上傳App的Archive動作。





5. 開始包裝App ( Product -> Archive )


點選Distribute按鈕


選擇Submit to the iOS App Store,然後按下Next按




6. 完成App上傳後,將目前的專案做git tag的動作


git tag v1.2.0
git push --tags


7. 將剛剛上傳的App,傳到HockeyApp的Server上,未來才能接收使用者的crash report。

在Organizer的Archives分頁,可以找到剛剛上傳到App Store的版本。(上傳到App Store的Status將顯示Submitted) 請點選它,然後從右鍵清單裡點選Show in Finder。




接著將App,也就是. xcarchive檔拖曳到Dock上的HockeyMac Icon,啟動上傳到HockeyApp主機的HockeyMac




Release type: App Store版請選擇Live,Ad Hoc版則選擇Beta

Download Allowed:  主要針對Ad Hoc版,必須勾測了測試人員才能夠下載。

Notify Testers: 勾選了才會通知使用者有更新
















沒有留言:

張貼留言