返回列表

作者:巨人電商

iOS:如何向App Store提交應(yīng)用

POST TIME:2021-08-20

新應(yīng)用提交過程比較長(zhǎng),只是更新的話就很快了。如果你的應(yīng)用需要進(jìn)行本地化就會(huì)涉及到很多,因?yàn)橐恍┗镜男畔⒍夹枰M(jìn)行本地化。不過,這個(gè)過程是值得的,畢竟更多的用戶會(huì)給你帶來更多下載和利潤(rùn)。

當(dāng)你克服重重困難終于開發(fā)出了自己的App,下一步就是向App Store提交應(yīng)用了,這時(shí)應(yīng)該如何操作呢?我的App真的準(zhǔn)備好提交了?我敢肯定這些問題將會(huì)浮現(xiàn)在你的腦海。基于這篇教程,我將告訴你一個(gè)完整的提交過程。

介紹

我們都知道蘋果審核的過程就像是在“黑箱”操作,但這并不妨礙你為這個(gè)審核過程做一些事先的準(zhǔn)備。蘋果的App Store審核指南已經(jīng)告訴你哪些是允許的,哪些是不允許的。當(dāng)你第一次提交你的應(yīng)用到蘋果的時(shí)候,這是一個(gè)令人興奮而但又傷腦筋的過程。即使再有經(jīng)驗(yàn)的 開發(fā)者也會(huì)措手不及,畢竟這事不像寫代碼每天都干。

前提

在向App Store提交應(yīng)用的前提是你已經(jīng)成為蘋果iOS開發(fā)者項(xiàng)目成員之一,你已經(jīng)向蘋果繳納了99美元/年的費(fèi)用。你可以通過此鏈接注冊(cè)成為蘋果iOS開發(fā)者項(xiàng)目成員。點(diǎn)擊Enroll Now按鈕。

1.你的應(yīng)用已經(jīng)準(zhǔn)備好了嗎?

Step1.測(cè)試

寫完最后一行代碼或者執(zhí)行完最后一個(gè)功能并不意味著你的App已經(jīng)完成了,你是否讓你的應(yīng)用在多個(gè)設(shè)備上進(jìn)行測(cè)試了?你的應(yīng)用是否有內(nèi)存泄露的問 題?你的 應(yīng)用程序是否總是崩潰?這幾年,iOS設(shè)備市場(chǎng)規(guī)模增長(zhǎng)迅猛,你必須保證你的應(yīng)用已經(jīng)在盡可能多的設(shè)備上通過測(cè)試。常見的問題比如你是否在iPhone 5的4寸屏幕到iPad Mini的7.9寸屏幕上都通過了測(cè)試。

iOS模擬器非常有用,但它是在Mac上運(yùn)行的,內(nèi)存和處理能力要比你口袋中的手機(jī)強(qiáng)大很多,一款iPhone 3GS和iPhone 5的性能差別更不用多說。作為iOS開發(fā)者,你可不能冒著風(fēng)險(xiǎn)長(zhǎng)期使用一款過時(shí)的iOS設(shè)備來創(chuàng)建和維護(hù)App,即便App可以在老的iOS設(shè)備上很好地 運(yùn)行,但不代表也可以在新設(shè)備上跑的順暢。

蘋果的審核是封閉的,但能減少不完善的性能表現(xiàn)給用戶帶來的糟糕體檢。如果你的應(yīng)用時(shí)常崩潰,或者啟動(dòng)后不久運(yùn)行速遞變得緩慢遲滯,那在向App Store提交之前你還有不少工作要做。即便蘋果審核人員不能發(fā)現(xiàn)App存在的問題,但用戶會(huì)發(fā)現(xiàn)。如果用戶體驗(yàn)很差,那么用戶會(huì)給你的差評(píng)或者低分,進(jìn) 一步影響到應(yīng)用的銷售和下載。

Step2.規(guī)則和指南

就像我前面所說的,蘋果為開發(fā)者提供了很多文檔資料,開發(fā)者尤其要注意iOS人機(jī)交互指南和App Store審核指南,不過不少開發(fā)者沒有精力或者難以靜下心來認(rèn)真研讀這些文檔,那么你的應(yīng)用將會(huì)因?yàn)檫@些文檔中列出的要求而被一再拒絕。

再退一步說,即便你沒有研讀iOS人機(jī)交互指南和App Store審核指南,但開發(fā)者也要知道大家常說的那些規(guī)則,如下我列出了一些你的應(yīng)用應(yīng)該和不應(yīng)該做的事情。

你的應(yīng)用:

不能崩潰

不能使用私有API,

不能復(fù)制原生app的功能,

應(yīng)該使用IAP(應(yīng)用內(nèi)付費(fèi))金融交易

不能在用戶不知情的情況下使用相機(jī)或者麥克風(fēng)

應(yīng)該使用有版權(quán)的圖片

這些只是上邊所說的文檔內(nèi)容中很小的一部分。iOS人機(jī)交互指南和App Store審核指南內(nèi)容更多是非?,嵥榈?。但有的小地方你也許會(huì)不經(jīng)意的違反。比如,在蘋果使用啟用自家地圖之前,MapKit framework使用的是谷歌地圖,用戶也非常清楚谷歌的logo會(huì)放在每張地圖的左下角,如果你的應(yīng)用的用戶界面覆蓋了谷歌的logo,那么蘋果就會(huì) 拒絕你的應(yīng)用。雖然這非?,嵥椋彩遣簧匍_發(fā)者經(jīng)?!胺稿e(cuò)誤”的地方。

2.預(yù)先準(zhǔn)備

在你開始將程序提交到App Store之前,你需要有一個(gè)App ID,一個(gè)有效的發(fā)布證書,以及一個(gè)有效的Provisioning profile。下面來看看它們各自的作用。

Step 1: App ID(應(yīng)用ID)

App ID是識(shí)別不同應(yīng)用程序的唯一標(biāo)示符。每個(gè)app都需要一個(gè)App ID或者app標(biāo)識(shí)。目前有兩種類型的App標(biāo)識(shí):一個(gè)是精確的App ID(explicit App ID),一個(gè)是通配符App ID(wildcard App ID)。 使用通配符的App ID可以用來構(gòu)建和安裝多個(gè)程序。盡管通配符App ID非常方便,但是一個(gè)精確的App ID也是需要的,尤其是當(dāng)App使用iCloud 或者使用其他iOS功能的時(shí)候,比如Game Center、Push Notifications或者IAP。

如果你不確定什么樣的App ID適合你的項(xiàng)目,我推薦你讀下蘋果關(guān)于這一主題的文檔:Technical Note QA1713。

Step 2: Distribution Certificate(發(fā)布證書)

iOS應(yīng)用都有一個(gè)安全證書用于驗(yàn)證開發(fā)者身份和簽名。為了可以向App Store提交app,你需要?jiǎng)?chuàng)建一個(gè)iOS provisioning profile 。首先需要?jiǎng)?chuàng)建一個(gè)distribution certificate(發(fā)布證書),過程類似于創(chuàng)建一個(gè)development certificate(開發(fā)證書)。如果你已經(jīng)在實(shí)體設(shè)備上測(cè)試你的App,那么你對(duì)創(chuàng)建development certificate就已經(jīng)很熟悉了。

如果對(duì)此不熟悉,我建議你讀下蘋果關(guān)于signing certificates和provisioning profiles的詳細(xì)指導(dǎo)。

Step 3: Provisioning Profile(配置文件)

一旦你創(chuàng)建了App ID和distribution certificate,你可以創(chuàng)建一個(gè)iOS provisioning profile以方便在App Store中銷售你的App。不過,你不能使用和ad hoc distribution相同的provisioning profile。你需要為App Store分銷創(chuàng)建一個(gè)單獨(dú)的provisioning profile,如果你使用通配符App ID,那么你的多個(gè)app就可以使用相同的provisioning profile。

Step 4: Build Settings(生成設(shè)置)

配置App ID、distribution certificate 和provisioning profile已經(jīng)完成,是時(shí)候配置Xcode中target的build settings了。在Xcode Project Navigator的targets列表中選擇一個(gè)target,打開頂部的Build Settings選項(xiàng),然后更新一下Code Signing來跟之前創(chuàng)建的distribution provisioning profile相匹配。最近添加的provisioning profiles有時(shí)候不會(huì)立馬就在build settings的Code Signing中看到,重啟一下Xcode就可以解決這個(gè)問題。

Step 5: Deployment Target(部署目標(biāo))

非常有必要說下deployment target,Xcode中每個(gè)target都有一個(gè)deployment target,它可以指出app可以運(yùn)行的最小版本。不過,一旦應(yīng)用在App Store中生效,再去修改deployment target,你要考慮到一定后果。如果你在更新app的時(shí)候提高了deployment target,但是已經(jīng)購買應(yīng)用的用戶并沒有遇到新的deployment target,那么應(yīng)用就不能在用戶的移動(dòng)設(shè)備上運(yùn)行。如果用戶通過iTunes (不是設(shè)備)下載了一個(gè)更新過的app,然后替代了設(shè)備上原先的版本,最后卻發(fā)現(xiàn)新版本不能在設(shè)備上運(yùn)行,這確實(shí)是個(gè)問題。

對(duì)此我有兩個(gè)方法

(1) 當(dāng)你決定提高現(xiàn)有app的deployment target時(shí),要在新版本的版本注釋中進(jìn)行說明。如果你提前告知用戶,那么至少有一點(diǎn),你已經(jīng)盡力阻止問題的發(fā)生了。

(2) 對(duì)于一款新app,我經(jīng)常會(huì)把deployment target設(shè)置為最近發(fā)布的系統(tǒng)版本。因?yàn)樾耰OS版本發(fā)布后,滲透率的增長(zhǎng)速度是令人難以置信的。很多人認(rèn)為提高deployment target會(huì)失去大部分市場(chǎng),這個(gè)說法并不準(zhǔn)確,比如iOS 6,iOS 6發(fā)布后一個(gè)月,超過60%的設(shè)備已經(jīng)進(jìn)行了更新。但對(duì)Android而言,就是另外一回事了,Android用戶并不會(huì)像iOS用戶那樣熱衷于更新操作 系統(tǒng)版本。

3. Assets(資源包)

Step 1: Icons(圖標(biāo))

Icon是App中不可分割的一部分,你要確保icon尺寸不會(huì)出現(xiàn)差錯(cuò)。

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: 屏幕截圖

屏幕截圖的作用不言而喻,你可以為每個(gè)app上傳5張截圖,雖然至少需要上傳一張,可能很少有人會(huì)只上傳一張圖片。另外,你還需要分別為 iPhone/iPod Touch和iPad/iPad Mini準(zhǔn)備不同的屏幕截圖。這也是不小的工作量,但卻能展示應(yīng)用的另一面。Shiny Development開發(fā)的一款售價(jià)6.99美元的Mac軟件Status Magic可以為你節(jié)省不少時(shí)間。Status Magic可以幫你把狀態(tài)欄放在截圖的正確位置。

屏幕截圖和icon是應(yīng)用給用戶的第一感覺,直接關(guān)系到用戶會(huì)不會(huì)購買。不過,你所上傳的屏幕截圖也不一定非得是實(shí)際的截圖,看看Where’s My Water? (小鱷魚愛洗澡)截圖可以通過使用此策略,更具吸引力和說服力。

Step 3: 元數(shù)據(jù)

在提交應(yīng)用之前,要管理好app的元數(shù)據(jù),包括1應(yīng)用名稱、2版本號(hào)、3主要類別,4簡(jiǎn)潔的描述,5關(guān)鍵詞,6.支持URL。如果你需要更新應(yīng)用,你還要提供新增加的版本內(nèi)容。

如果你的應(yīng)用需要注冊(cè)嗎,你還得向蘋果提供一個(gè)測(cè)試賬戶或者demo賬戶,這樣審核人員就能很快進(jìn)入app,而不用再注冊(cè)賬號(hào)。

4. 提交準(zhǔn)備

Xcode 4以后,開發(fā)者提交應(yīng)用的過程就簡(jiǎn)單多了,可以直接使用Xcode進(jìn)行提交。首先在iTunes Connect中創(chuàng)建app,訪問iTunes Connect,使用你的iOS開發(fā)者賬號(hào)登陸,點(diǎn)擊右邊的“Manage Your Apps”,點(diǎn)擊左上角的“Add New App”,選擇“iOS App”,然后完成表格。

Step 1: 完成基本信息

出現(xiàn)在App Store中App的名字要做到獨(dú)一無二, 這個(gè)名字可以不同于主屏幕icon下邊的名字,不過推薦使用相同的名字。

SKU Number是一個(gè)用來識(shí)別app的特殊字符串。我經(jīng)常使用app的bundle identifier。最下邊是app的Bundle ID,你可以從下來菜單中選擇通配符App ID或者準(zhǔn)確的App ID。

Step 2:價(jià)格和有效性

下一步,確定app的價(jià)格和有效性。蘋果已經(jīng)確定好了價(jià)格梯度,所以你不需要分別選擇各個(gè)國家中app售價(jià),你只需要指定在哪個(gè)國家的應(yīng)用商店出售 即可。 在App Store顯示這款應(yīng)用之后,這一過程中填的信息還可以被修改,也就是說你可以更改價(jià)格,并且不需要提交或更新。

Step 3: 元數(shù)據(jù)

我們已經(jīng)說過元數(shù)據(jù)了,不過還沒有說應(yīng)用評(píng)級(jí)。根據(jù)應(yīng)用的內(nèi)容和功能,蘋果會(huì)給應(yīng)用一定評(píng)級(jí),比如很多應(yīng)用是4+,500px是17+。除了告訴用戶app的內(nèi)容和功能,也可以讓孩子的父母放心。

如果你的應(yīng)用等級(jí)跟內(nèi)容不符合,蘋果也會(huì)拒絕你的應(yīng)用。

Step 4: 準(zhǔn)備上傳二進(jìn)制文件

提交完app的元數(shù)據(jù)后,你會(huì)看到關(guān)于app的一些摘要信息,你應(yīng)該在提交之前看看app的版本。點(diǎn)擊“View Details”按鈕,再點(diǎn)擊右上角的“Ready to Upload Binary”。然后系統(tǒng)會(huì)問你一個(gè)或幾個(gè)關(guān)于app的問題,完成后,你會(huì)看到提示信息,告訴你準(zhǔn)備上傳二進(jìn)制文件。app的狀態(tài)就變成“Waiting for Upload”。

5. 上傳二進(jìn)制文件

為了上傳程序,需要為程序創(chuàng)建一個(gè)archive。你只能在一臺(tái)真實(shí)設(shè)備上創(chuàng)建一個(gè)archive。 如果你在active scheme中選擇了iOS Simulator,那么在Xcode的Product菜單中Archive選項(xiàng)是灰色不可選的。連接一臺(tái)iOS設(shè)備到Mac機(jī)器上,然后在active scheme中選擇這臺(tái)設(shè)備,然后選擇Xcode中Product菜單里面的Archive。

如果一切正常的話,現(xiàn)在你會(huì)獲得一個(gè)archive,并且Xcode的Organizer會(huì)自動(dòng)打開,并顯示出剛剛生成的archive。在列表中 選中archive,然后點(diǎn)擊右邊的“Distribute”按鈕。在顯示出來的畫面中,選擇“Submit to the iOS App Store”。然后輸入你的iOS開發(fā)者賬號(hào)進(jìn)行認(rèn)證。接著選擇Application 和Code Signing Identity。

應(yīng)用程序的二進(jìn)制文件會(huì)上傳到蘋果的服務(wù)器中——在這個(gè)過程中,你的程序同樣需要被驗(yàn)證。如果在驗(yàn)證過程中遇到了錯(cuò)誤,程序的提交流程就會(huì)失敗。驗(yàn)證處理非常有用,如果程序中有一些錯(cuò)誤,蘋果的 App Store評(píng)審團(tuán)會(huì)告訴你具體原因。

6.等待

上傳完成后,app狀態(tài)就變成“Waiting for Review”了。

總結(jié)

新應(yīng)用提交過程比較長(zhǎng),只是更新的話就很快了。如果你的應(yīng)用需要進(jìn)行本地化就會(huì)涉及到很多,因?yàn)橐恍┗镜男畔⒍夹枰M(jìn)行本地化。不過,這個(gè)過程是值得的,畢竟更多的用戶會(huì)給你帶來更多下載和利潤(rùn)。

標(biāo)簽:三亞 錫林郭勒盟 南昌 云浮 南充 中山 新鄉(xiāng) 肇慶