如何向App Store提交應用

介紹
咱們都知道蘋果審覈的過程就像是在「黑箱」操做,但這並不妨礙你爲這個審覈過程作一些事先的準備。蘋果的App Store審覈指南已經告訴你哪些是容許的,哪些是不容許的。當你第一次提交你的應用到蘋果的時候,這是一個使人興奮而但又傷腦筋的過程。即便再有經驗的開發者也會措手不及,畢竟這事不像寫代碼天天都幹。html


前提
在向App Store提交應用的前提是你已經成爲蘋果iOS開發者項目成員之一,你已經向蘋果繳納了99美圓/年的費用。你能夠經過此連接註冊成爲蘋果iOS開發者項目成員。點擊Enroll Now按鈕。android

向App Store提交應用

圖1.註冊成爲iOS開發者ios

1.你的應用已經準備好了嗎?web

Step1.測試
寫完最後一行代碼或者執行完最後一個功能並不意味着你的App已經完成了,你是否讓你的應用在多個設備上進行測試了?你的應用是否有內存泄露的問題?你的應用程序是否老是崩潰?這幾年,iOS設備市場規模增加迅猛,你必須保證你的應用已經在儘量多的設備上經過測試。常見的問題好比你是否在iPhone 5的4寸屏幕到iPad Mini的7.9寸屏幕上都經過了測試。安全


iOS模擬器很是有用,但它是在Mac上運行的,內存和處理能力要比你口袋中的手機強大不少,一款iPhone 3GS和iPhone 5的性能差異更不用多說。做爲iOS開發者,你可不能冒着風險長期使用一款過期的iOS設備來建立和維護App,即使App能夠在老的iOS設備上很好地運行,但不表明也能夠在新設備上跑的順暢。服務器


蘋果的審覈是封閉的,但能減小不完善的性能表現給用戶帶來的糟糕體檢。若是你的應用時常崩潰,或者啓動後不久運行速遞變得緩慢遲滯,那在向App Store提交以前你還有很多工做要作。即使蘋果審覈人員不能發現App存在的問題,但用戶會發現。若是用戶體驗不好,那麼用戶會給你的差評或者低分,進一步影響到應用的銷售和下載。app


Step2.規則和指南
就像我前面所說的,蘋果爲開發者提供了不少文檔資料,開發者尤爲要注意iOS人機交互指南App Store審覈指南,不過很多開發者沒有精力或者難以靜下心來認真研讀這些文檔,那麼你的應用將會由於這些文檔中列出的要求而被一再拒絕。ide


再退一步說,即使你沒有研讀iOS人機交互指南和App Store審覈指南,但開發者也要知道你們常說的那些規則,以下我列出了一些你的應用應該和不該該作的事情。性能

你的應用:
不能崩潰
不能使用私有API,
不能複製原生app的功能,
應該使用IAP(應用內付費)金融交易
不能在用戶不知情的狀況下使用相機或者麥克風
應該使用有版權的圖片測試


這些只是上邊所說的文檔內容中很小的一部分。iOS人機交互指南和App Store審覈指南內容更可能是很是瑣碎的。但有的小地方你也許會不經意的違反。好比,在蘋果使用啓用自家地圖以前,MapKit framework使用的是谷歌地圖,用戶也很是清楚谷歌的logo會放在每張地圖的左下角,若是你的應用的用戶界面覆蓋了谷歌的logo,那麼蘋果就會拒絕你的應用。雖然這很是瑣碎,但也是很多開發者常常「犯錯誤」的地方。


2.預先準備

在你開始將程序提交到App Store以前,你須要有一個App ID,一個有效的發佈證書,以及一個有效的Provisioning profile。下面來看看它們各自的做用。


Step 1: App ID(應用ID)
App ID是識別不一樣應用程序的惟一標示符。每一個app都須要一個App ID或者app標識。目前有兩種類型的App標識:一個是精確的App ID(explicit App ID),一個是通配符App ID(wildcard App ID)。使用通配符的App ID能夠用來構建和安裝多個程序。儘管通配符App ID很是方便,可是一個精確的App ID也是須要的,尤爲是當App使用iCloud 或者使用其餘iOS功能的時候,好比Game Center、Push Notifications或者IAP。


若是你不肯定什麼樣的App ID適合你的項目,我推薦你讀下蘋果關於這一主題的文檔:Technical Note QA1713


Step 2: Distribution Certificate(發佈證書)
iOS應用都有一個安全證書用於驗證開發者身份和簽名。爲了能夠向App Store提交app,你須要建立一個iOS provisioning profile 。首先須要建立一個distribution certificate(發佈證書),過程相似於建立一個development certificate(開發證書)。若是你已經在實體設備上測試你的App,那麼你對建立development certificate就已經很熟悉了。


若是對此不熟悉,我建議你讀下蘋果關於signing certificates和provisioning profiles的詳細指導


Step 3: Provisioning Profile(配置文件)
一旦你建立了App ID和distribution certificate,你能夠建立一個iOS provisioning profile以方便在App Store中銷售你的App。不過,你不能使用和ad hoc distribution相同的provisioning profile。你須要爲App Store分銷建立一個單獨的provisioning profile,若是你使用通配符App ID,那麼你的多個app就可使用相同的provisioning profile。


Step 4: Build Settings(生成設置)
配置App ID、distribution certificate 和provisioning profile已經完成,是時候配置Xcode中target的build settings了。在Xcode Project  Navigator的targets列表中選擇一個target,打開頂部的Build Settings選項,而後更新一下Code Signing來跟以前建立的distribution provisioning profile相匹配。最近添加的provisioning profiles有時候不會立馬就在build settings的Code Signing中看到,重啓一下Xcode就能夠解決這個問題。


圖2:配置Target的Build Settings


Step 5: Deployment Target(部署目標)
很是有必要說下deployment target,Xcode中每一個target都有一個deployment target,它能夠指出app能夠運行的最小版本。不過,一旦應用在App Store中生效,再去修改deployment target,你要考慮到必定後果。若是你在更新app的時候提升了deployment target,可是已經購買應用的用戶並無遇到新的deployment target,那麼應用就不能在用戶的移動設備上運行。若是用戶經過iTunes (不是設備)下載了一個更新過的app,而後替代了設備上原先的版本,最後卻發現新版本不能在設備上運行,這確實是個問題。


對此我有兩個方法
(1) 當你決定提升現有app的deployment target時,要在新版本的版本註釋中進行說明。若是你提早告知用戶,那麼至少有一點,你已經盡力阻止問題的發生了。


(2) 對於一款新app,我常常會把deployment target設置爲最近發佈的系統版本。由於新iOS版本發佈後,***率的增加速度是使人難以置信的。不少人認爲提升deployment target會失去大部分市場,這個說法並不許確,好比iOS 6,iOS 6發佈後一個月,超過60%的設備已經進行了更新。但對Android而言,就是另一回事了,Android用戶並不會像iOS用戶那樣熱衷於更新操做系統版本


3. Assets(資源包)

Step 1: Icons(圖標)
Icon是App中不可分割的一部分,你要確保icon尺寸不會出現差錯。
iTunes Artwork: 1024px x 1024px (required)
iPad/iPad Mini: 72px x 72px and 114px x 114px (required)
iPhone/iPod Touch: 57px x 57px and 114px x 114px (required)
Search Icon: 29px x 29px and 58px x 58px (optional)
Settings Application: 50px x 50px and 100px x 100px (optional)


Step 2: 屏幕截圖
屏幕截圖的做用不言而喻,你能夠爲每一個app上傳5張截圖,雖然至少須要上傳一張,可能不多有人會只上傳一張圖片。另外,你還須要分別爲iPhone/iPod Touch和iPad/iPad Mini準備不一樣的屏幕截圖。這也是不小的工做量,但卻能展現應用的另外一面。Shiny Development開發的一款售價6.99美圓的Mac軟件Status Magic能夠爲你節省很多時間。Status Magic能夠幫你把狀態欄放在截圖的正確位置。


屏幕截圖和icon是應用給用戶的第一感受,直接關係到用戶會不會購買。不過,你所上傳的屏幕截圖也不必定非得是實際的截圖,看看Where’s My Water? 截圖能夠經過使用此策略,更具吸引力和說服力。


Step 3: 元數據
在提交應用以前,要管理好app的元數據,包括1應用名稱、2版本號、3主要類別,4簡潔的描述,5關鍵詞,6.支持URL。若是你須要更新應用,你還要提供新增長的版本內容。


若是你的應用須要註冊嗎,你還得向蘋果提供一個測試帳戶或者demo帳戶,這樣審覈人員就能很快進入app,而不用再註冊帳號。


4. 提交準備

Xcode 4之後,開發者提交應用的過程就簡單多了,能夠直接使用Xcode進行提交。首先在iTunes Connect中建立app,訪問iTunes Connect,使用你的iOS開發者帳號登錄,點擊右邊的「Manage Your Apps」,點擊左上角的「Add New App」,選擇「iOS App」,而後完成表格。



圖3.瀏覽iTunes Connect頁面

Step 1: 完成基本信息
出如今App Store中App的名字要作到獨一無二, 這個名字能夠不一樣於主屏幕icon下邊的名字,不過推薦使用相同的名字。


SKU Number是一個用來識別app的特殊字符串。我常用app的bundle identifier。最下邊是app的Bundle ID,你能夠從下來菜單中選擇通配符App ID或者準確的App ID。


圖4.指定名稱、SKU Number以及Bundle ID



Step 2:價格和有效性
下一步,肯定app的價格和有效性。蘋果已經肯定好了價格梯度,因此你不須要分別選擇各個國家中app售價,你只須要指定在哪一個國家的應用商店出售便可。在App Store顯示這款應用以後,這一過程當中填的信息還能夠被修改,也就是說你能夠更改價格,而且不須要提交或更新。


圖5.指訂價格和有效性

Step 3: 元數據
咱們已經說過元數據了,不過尚未說應用評級。根據應用的內容和功能,蘋果會給應用必定評級,好比不少應用是4+,500px是17+。除了告訴用戶app的內容和功能,也可讓孩子的父母放心。


若是你的應用等級跟內容不符合,蘋果也會拒絕你的應用。


圖6.鍵入應用元數據和評級


Step 4: 準備上傳二進制文件
提交完app的元數據後,你會看到關於app的一些摘要信息,你應該在提交以前看看app的版本。點擊「View Details」按鈕,再點擊右上角的「Ready to Upload Binary」。而後系統會問你一個或幾個關於app的問題,完成後,你會看到提示信息,告訴你準備上傳二進制文件。app的狀態就變成「Waiting for Upload」。


圖7.App概要


5. 上傳二進制文件

爲了上傳程序,須要爲程序建立一個archive。你只能在一臺真實設備上建立一個archive。若是你在active scheme中選擇了iOS Simulator,那麼在Xcode的Product菜單中Archive選項是灰色不可選的。鏈接一臺iOS設備到Mac機器上,而後在active scheme中選擇這臺設備,而後選擇Xcode中Product菜單裏面的Archive。


圖8.使用Xcode對應用程序進行歸檔(Archiving)


若是一切正常的話,如今你會得到一個archive,而且Xcode的Organizer會自動打開,並顯示出剛剛生成的archive。在列表中選中archive,而後點擊右邊的「Distribute」按鈕。在顯示出來的畫面中,選擇「Submit to the iOS App Store」。而後輸入你的iOS開發者帳號進行認證。接着選擇Application Code Signing Identity


應用程序的二進制文件會上傳到蘋果的服務器中——在這個過程當中,你的程序一樣須要被驗證。若是在驗證過程當中遇到了錯誤,程序的提交流程就會失敗。驗證處理很是有用,若是程序中有一些錯誤,蘋果的 App Store評審團會告訴你具體緣由。


圖9.使用Xcode對應用程序進行歸檔(Archiving)

圖10.把應用提交至iOS App Store

圖11.鍵入iOS開發者

圖12.選擇Application和Code Signing Identity

圖13.驗證失敗會有錯誤提示


6.等待
上傳完成後,app狀態就變成「Waiting for Review」了。


總結
新應用提交過程比較長,只是更新的話就很快了。若是你的應用須要進行本地化就會涉及到不少,由於一些基本的信息都須要進行本地化。不過,這個過程是值得的,畢竟更多的用戶會給你帶來更多下載和利潤。


轉載自:http://www.cocoachina.com/newbie/tutorial/2013/0508/6155.html

推廣:http://www.cocoachina.com/special/market.html

相關文章
相關標籤/搜索