(這篇文章為原創(chuàng),轉(zhuǎn)載請(qǐng)注明出處,謝謝?。?/i>
這篇文章主要是想要給大家講述一下APP打包上線到APP Store的詳細(xì)流程。作為一名開發(fā)人員,上架APP是必須要會(huì)的,否則出去都不好意思說自己是iOS程序員。而且上線過APP的小伙伴肯定都知道,iOSAPP上線相比安卓的APP上線要復(fù)雜麻煩很多,一不小心就會(huì)掉進(jìn)坑里。所以下面我將會(huì)帶著大家一步一步的學(xué)習(xí)如何打包上線一個(gè)APP和那些年我們遇到的坑。
好了,下面咱們兒廢話不多說,說正事兒?。?!
一、準(zhǔn)備工作
如果要想打包上線APP,下面這幾樣?xùn)|西肯定是不能少的啦:
1. 開發(fā)者賬號(hào)
2. 需要上線的項(xiàng)目
3. mac電腦和xcode
二、前期工作
登錄開發(fā)者賬號(hào):開發(fā)者中心網(wǎng)址,進(jìn)入開發(fā)者中心后點(diǎn)擊account,進(jìn)入如下界面;然后輸入你的開發(fā)者賬號(hào)和密碼點(diǎn)擊sign in。

點(diǎn)擊sign in 后進(jìn)入如下界面;制作證書是進(jìn)入第一個(gè)模塊(certificates,Identifers&Profiles),第二個(gè)模塊是上線APP的模塊,這里暫時(shí)不用管這個(gè)模塊。

點(diǎn)擊Certifeicates,Identifers&Profiles選項(xiàng)進(jìn)入如下界面;被我圈出來的第一個(gè)模塊用來創(chuàng)建發(fā)布證書的,第二個(gè)模塊是是注冊(cè)APP IDs的;

注意:如果需要上線的APP沒有申請(qǐng)過APP ID的話,在制作發(fā)布證書前需要先申請(qǐng)APP IDs;如果在上線之前就已經(jīng)申請(qǐng)過APP IDs,則跳過申請(qǐng)APP IDs這一步,直接創(chuàng)建發(fā)布證書即可;或者你的發(fā)布證書也已經(jīng)創(chuàng)建好了,那么,請(qǐng)直接創(chuàng)建配置文件,即profiles文件。
1. 申請(qǐng)APP ID
流程如下:
(1)點(diǎn)擊Identifers中的APP IDs;
(2)然后點(diǎn)擊右上角的加號(hào)“?”,進(jìn)入如下界面;


第一個(gè)Name,用來描述App ID,這個(gè)隨便填,沒有什么限制,最好是項(xiàng)目名稱,這樣方便自己辨識(shí)(不允許中文);
第二項(xiàng)Bundle ID (App ID Suffix),這是appid的后綴,這個(gè)需要仔細(xì)。因?yàn)檫@個(gè)內(nèi)容和程序直接相關(guān),后面很多地方要用到,最好是com.yourcompany.yourappname的格式,一般都會(huì)使用項(xiàng)目中的Bundle ID(這樣比較保險(xiǎn)),還有一個(gè)WildCard App ID使用一個(gè)通配com.yourcompany.*,可以適配多應(yīng)用
然后點(diǎn)擊continues;進(jìn)入下一個(gè)界面然后點(diǎn)擊submit,然后點(diǎn)擊done,APP ID申請(qǐng)成功;
2. 創(chuàng)建證書
2.1 創(chuàng)建發(fā)布證書
(1) 選擇Certificates后進(jìn)入如下界面;


(2)這里我們以測(cè)試證書為例,介紹一下制作證書的流程。所以這一步我們選擇Development模塊中的iOS App Development 選項(xiàng);然后將界面拉到底部,點(diǎn)擊conotinues;如圖:
進(jìn)入如下界面;

(3)上面圖片中紅框圈出來的部分是讓然我申請(qǐng)一個(gè)CSR文件,那CSR文件是個(gè)什么東西呢?請(qǐng)看下面的流程介紹:
a. 點(diǎn)擊電腦的Launchpad ——>鑰匙串訪問——> 單擊打開;
b. 點(diǎn)擊電腦的左上角蘋果標(biāo)識(shí)旁邊的鑰匙串訪問選項(xiàng),出現(xiàn)如圖所示界面;然后選擇證書助理 ——>? 從證書頒發(fā)機(jī)構(gòu)請(qǐng)求證書;

c. 然后會(huì)出現(xiàn)如下界面;

然后我們的CSR文件就制作成功了;
(4)接著上面第二步,點(diǎn)擊continues后進(jìn)入如下界面,點(diǎn)擊choose files后選擇我們剛才制作好的CSR文件點(diǎn)擊確定;然后點(diǎn)擊continues;

然后點(diǎn)擊done,提交上去后就會(huì)生成一個(gè)cer證書,如圖所示,有效期為一年。發(fā)布證書制作完成;

注:這里由于我這邊不能實(shí)戰(zhàn)給大家截圖,所以有些截圖用的是別人的圖,but!!只有最后一張圖是用的別人的!大家能看懂就行了對(duì)不對(duì)! 圖片不是重點(diǎn)啦~
以上,創(chuàng)建發(fā)布證書的流程就介紹完了。
2.2? 創(chuàng)建配置文件(Profiles文件)
首先在這里向大家道歉,因?yàn)闀r(shí)間的緣故只寫了一部分,謝謝大家的諒解。下面就來接著之前的寫的給大家介紹介紹一下Profiles文件也就是配置文件的創(chuàng)建。
(1)首先,進(jìn)入開發(fā)者賬號(hào)的第一項(xiàng)后,找到如下圖所示的模塊;

(2)然后點(diǎn)擊右上角的加號(hào)“?”進(jìn)入如下界面;因?yàn)槲椰F(xiàn)在是以測(cè)試證書為例講解的,所以選擇Development的第一項(xiàng):iOS App Development,然后將頁面滑到底部點(diǎn)擊我們熟悉的continue按鈕進(jìn)入下一個(gè)頁面;

(3)進(jìn)入下面這個(gè)界面后,選擇你項(xiàng)目的APP ID,如果當(dāng)前的APP ID不是你項(xiàng)目的APP ID,則點(diǎn)擊箭頭所指的地方選擇對(duì)應(yīng)的APP ID然后點(diǎn)擊continue;

(4)進(jìn)入如下界面;這一步是要選擇你在certificates那一項(xiàng)創(chuàng)建的發(fā)布證書,或者之前就已經(jīng)創(chuàng)建好的發(fā)布證書,點(diǎn)擊continue繼續(xù);

(5)進(jìn)入如下界面;選擇測(cè)試設(shè)備,如果不想一個(gè)一個(gè)選擇的話可以點(diǎn)擊全選;然后點(diǎn)擊continue繼續(xù);

(5)第5步,在紅框中填寫你的描述文件的名字:名字可以自己填寫,但建議最好是利用自己項(xiàng)目的名字命名,這樣比較好辨識(shí);然后點(diǎn)擊continue繼續(xù);

(6)到這一步就生成了我想要的描述文件了,也就是所謂的PP文件。我們需要做的就是點(diǎn)擊download按鈕下載制作好的描述文件即可。下載后雙擊安裝描述文件,然后點(diǎn)擊done就好了。這樣我們的描述文件也算是制作完成了。
那~~ 到這里制作證書的事兒就全部。
三、下面開始介紹itunes connects模塊我們需要做的操作
首先肯定不用說是要登錄itunes connects啦。怎么登錄我就說了,這里我只說重點(diǎn)?。?/p>
1. 登錄到iTunes connects你肯定能看到這么一個(gè)圖標(biāo);

如果沒看到我紅框圈出來的,那么你肯定是登錄了一個(gè)假的itunes Connect賬號(hào), 哈哈哈哈哈哈哈~~~
2. 點(diǎn)擊圖標(biāo)后進(jìn)入如下這個(gè)界面;然后點(diǎn)擊左上角的加號(hào)“?”,彈出一個(gè)下拉列表,選擇第一個(gè)新建APP;如下圖所示;

3. 點(diǎn)擊新建APP后屏幕的中間會(huì)彈出一個(gè)列表彈框;如下界面所示;具體的我怕都在截圖中有具體的說明,在這里就不過多的贅述了,大家看圖中解釋即可。

注意:這里想要提醒大家的是:給APP起個(gè)名字最好不要和那些大公司的APP名字太相近,這樣容易被拒;還有就是你給APP起的名字可能會(huì)和別人的項(xiàng)目名稱重復(fù),這個(gè)時(shí)候系統(tǒng)會(huì)提示你該APP民名稱已被占用,那么請(qǐng)重新選擇一個(gè)APP名稱然后重新試一下。
4. 這一步呢,咱們的APP就已經(jīng)在app store中開辟好空間了,剩下的就是需要我們填寫app的詳細(xì)信息;具體界面如下所示;
名稱就是你APP的名稱,我想這個(gè)就不需要我在這里一個(gè)一個(gè)說了吧,里面的官方術(shù)語想必每個(gè)iOS開發(fā)人員看見都知道指的是什么東西吧;but?。?!雖然的大多數(shù)人事知道的,但也會(huì)有個(gè)別的萌新不懂這些術(shù)語到底指的是啥,那么怎么辦呢?找度娘啊?。∵@個(gè)界面設(shè)計(jì)到的相關(guān)術(shù)語其實(shí)我在上面的步驟中都有提到過,如果忘記了請(qǐng)自己往前面翻看,在這里我就不重復(fù)說了。

注:在這里我需要說明一下,因?yàn)槲疫@邊的開發(fā)者賬號(hào)不方便在這塊給大家截圖,所以用了簡(jiǎn)書作者@DeveloperLY文章iOS App上架流程(2016詳細(xì)版)中的截圖,希望DeveloperLY不要見怪。
5. 填寫完APP信息后呢,我們還需要給自己的APP設(shè)定價(jià)格和銷售范圍,這里請(qǐng)根據(jù)自己公司或者自己的意愿填寫,畢竟這個(gè)東西我也不能左右對(duì)吧~~

6. 下面點(diǎn)擊準(zhǔn)備提交一項(xiàng),會(huì)出現(xiàn)如下這個(gè)界面;

這里的版本信息第一項(xiàng)是讓我們上傳APP的界面截圖,請(qǐng)大家將模擬器調(diào)整到最大(快捷鍵:command + 1 可以將模擬器調(diào)整到最大),然后按command + s,就可以將模擬器的屏幕截圖保存到桌面上。需要注意的是在這里我們需要對(duì)不同尺寸的模擬器進(jìn)行截圖,然后將截好的APP截圖拖到對(duì)應(yīng)尺寸的框中(每個(gè)尺寸的截圖最少3個(gè)最多5個(gè),如果截圖尺寸不對(duì)的話,也會(huì)有相應(yīng)的提示)
7. 將界面往下移動(dòng) 你會(huì)看到如下界面;
左側(cè)的描述下方是讓咱們填寫關(guān)于該APP的特征描述的,大致就是介紹一下APP的功能、類型和特色啥的,大致寫寫就可以了。右側(cè)的關(guān)鍵詞是你的APP中涉及到的關(guān)鍵詞,建議這里的關(guān)鍵詞最好是和你的APP名稱很接近,比如APP名稱為:上線打包,則關(guān)鍵字可以寫成是:上線、打包,這樣如果大家在APP store上搜索的這兩個(gè)字的時(shí)候可能看到你的APP,增加APP的下載量啊~? 下面的技術(shù)支持網(wǎng)址就寫你們公司的網(wǎng)站就行了。

8. 接下來的這個(gè)界面(如下,感覺一直在說如下圖所示,說的我尷尬癥都犯了 哈哈哈)的這一步是設(shè)置APP的名稱、圖標(biāo)和版本號(hào)等其他信息的。
下面我會(huì)對(duì)下面需要注意的條目做一下強(qiáng)調(diào):
(1)APP的圖標(biāo)一定是一張1024 x 1024的圖片,并且!!一定不能切圓角!一定不能切圓角!一定不能切圓角!(重要的事情說三遍!!)。因?yàn)樘O果會(huì)自動(dòng)給我們的應(yīng)用程序的圖標(biāo)切圓角的。如果要是非要切圓角的話,那就切吧,反正會(huì)報(bào)錯(cuò)的!
(2)版本號(hào)一般都是從1.0或者1.0.0開始的,然后以后更新版本一次累加即可。

9. 然后點(diǎn)擊下面的編輯分級(jí)后出現(xiàn)如下界面,請(qǐng)大家根據(jù)自己公司的APP如實(shí)填寫,然后點(diǎn)擊完成

10. 最后填寫審核信息。這里的APP審核信息,聯(lián)系信息啊啥的按照自己需求寫就行了,反正我我填的是我自己的名字和電話號(hào)碼還有郵箱;下面的演示賬戶是針對(duì)有登錄功能的APP的,如果進(jìn)入APP需要登錄的話務(wù)必在這里填寫一個(gè)測(cè)試賬號(hào)供蘋果測(cè)試人員進(jìn)行APP審核。

11. 版本發(fā)布這一項(xiàng)大家一般都會(huì)選擇第二個(gè)審核通過后自動(dòng)發(fā)布,這里也沒啥好說的。如果審核通過的話就會(huì)自動(dòng)發(fā)布到APP store上,這時(shí)候是可以在APP store上搜到我們的應(yīng)用的。
12. 別著急,到這里還沒算完,當(dāng)然準(zhǔn)備工作到這里差不多算是做完了,下面我們需要做的是打開我們的xcode去打包項(xiàng)目,然后將打好的包上傳到開發(fā)者賬號(hào)中。
四、項(xiàng)目打包
這里我將介紹如何打包工程,如果還不會(huì)打包的童鞋們,請(qǐng)睜大你們的小眼睛一步一步的跟著我做!
在介紹打包之前我需要針對(duì)證書說件事兒,在前面我介紹的是制作測(cè)試證書,但是如果要上線APP的話需要用生產(chǎn)證書來打包的,所以在打包之前請(qǐng)務(wù)必制作號(hào)生產(chǎn)發(fā)布證書和生產(chǎn)環(huán)境下的描述文件。
下面正式開始:
1. 將你在開發(fā)者賬號(hào)中下載的發(fā)布證書(或者從鑰匙串中導(dǎo)出的p12文件)和PP文件(描述文件)分別雙擊進(jìn)行安裝。
2. 然后打開xcode,點(diǎn)擊最頂部左側(cè)有藍(lán)色圖標(biāo)的工程, 然后出現(xiàn)如下界面;請(qǐng)將signing、Signing(Debug)、Signing(Release)中的Provisioning Profile全部切換成我們生產(chǎn)證書。

當(dāng)然除了上面的方法,還有一種方法也可以配置證書,就是點(diǎn)擊Build settings后找到Code Signing中將測(cè)試證書全部換成生產(chǎn)證書即可。在這里如果報(bào)錯(cuò),表示你選擇的描述文件和工程不匹配,這時(shí)候你需要重新確認(rèn)一下描述文件和發(fā)布證書的正確性然后重新選擇。
3. 如果大家的項(xiàng)目不支持橫屏需要把下面的Landscape Left和 Landscape Right前面的勾去掉。

4. 然后找到如下圖所示的地方;選擇Generic iOS Device這一項(xiàng),這里必須選這一項(xiàng),否則不能打包;

5. 還有一個(gè)容易被大家忽略的就是這一步,將debug模式切換成release模式,具體如何切換如下圖指示;

點(diǎn)擊Edit Scheme后出現(xiàn)如下界面;將Build Configuration 選擇為Release即可。

6. 最后一步我不知道別人會(huì)不會(huì)做,但是我每次打包都會(huì)習(xí)慣性的做這個(gè)操作,每次Archive之前都會(huì)command + k一下對(duì)緩存做一下清理(不知道需不需要,反正我已經(jīng)習(xí)慣這一步了,并且也不會(huì)耽誤太長(zhǎng)的時(shí)間)。
7. 然后就是Archive了。點(diǎn)擊Archive后

8. 到這里我們需要等待大概1到2分鐘的時(shí)間,如果不出意外的話會(huì)出現(xiàn)如下界面;具體的作者@DeveloperLY的文章中的截圖中有說的很清楚了。

9. 然后點(diǎn)擊Upload to App Store 將ipa包提交到開發(fā)者賬號(hào)中。
如果點(diǎn)擊Upload to App Store出現(xiàn)如下界面,不要著急,這個(gè)是因?yàn)槟愕膞code中沒有添加付費(fèi)的開發(fā)者賬號(hào),所以你只需要點(diǎn)擊Add然后按照提示,添加開發(fā)者賬號(hào)即可。

10. 然后關(guān)掉不相關(guān)的窗口,重新選擇APP所在的開發(fā)者賬號(hào),點(diǎn)擊choose;然后就需要我們耐心的等待,如果快的話幾分鐘就可以完事兒了,但如果慢的話可能需要等上個(gè)小半個(gè)小時(shí)。
等待一段時(shí)間后悔出現(xiàn)如下界面;然后確認(rèn)信息無誤后點(diǎn)擊Upload;一般信息都是沒錯(cuò)的。

11. 等到出現(xiàn)如下界面,表示你已經(jīng)上傳成功。

12. 然后我們需要重新回到itunes connect中去提交我們剛才上傳到開發(fā)者賬號(hào)的構(gòu)建版本;那因?yàn)槲疫@邊暫時(shí)不能給大家截圖,所以大家可以自己先試著做一下,等我在上線項(xiàng)目的時(shí)候,會(huì)把截圖補(bǔ)充上,總不能一直拿別人的圖,我擔(dān)心截圖作者會(huì)找我談?wù)?。所以有些圖我自己截圖就好
13.選擇構(gòu)建版本后,確保其他項(xiàng)沒有問題后,請(qǐng)點(diǎn)擊右上角的提交以供審核,這樣子我們的APP就提交到APP store上了,當(dāng)然到這一步我們還沒有成功,可能會(huì)因?yàn)槟承┰虮惶O果拒絕上線。我們需要耐心等待蘋果反饋給我們的結(jié)果。如果蘋果反饋信息是:XXXX可供銷售,表示我們的APP已經(jīng)上線了。
到這里,我的文章暫時(shí)算是結(jié)束了,當(dāng)然后續(xù)肯定會(huì)有補(bǔ)充,主要是想把文章中的截圖換成自己的截圖,在這之前暫時(shí)先用作者DeveloperLY文章中的截圖,等我再次打包發(fā)版本的時(shí)候我會(huì)把所有截圖換成我自己的。在這里再次請(qǐng)@DeveloperLY多多包涵了
具體補(bǔ)充內(nèi)容我這里有彩蛋哦:上傳ipa包其實(shí)不止一種方法,其實(shí)有兩種,那么另外一種方法是什么呢?請(qǐng)等待耐心等待我下次的補(bǔ)充。
希望大家繼續(xù)關(guān)注哦。
注:在這里我需要說明一下,因?yàn)槲疫@邊的開發(fā)者賬號(hào)不方便在這塊給大家截圖,所以用了簡(jiǎn)書作者@DeveloperLY 文章iOS iOS App上架流程(2016詳細(xì)版)中的截圖,希望DeveloperLY不要見怪。