一、前言:
作為一名iOSer,把開發出來的App上載到App Store是必要的。下麵就來詳細講解一下具體流程步驟。
二、準備:
- 一個已付費的開發者賬號(賬號類型分為個人(Individual)、公司(Company)、企業(Enterprise)、高校(University)四種類型,每年資費分別為$99、$99、$299、免費。)。
- 一個已經開發完成的項目。
三、檢查:
- 你的Xcode必須是正式版的,beta版本的Xcode是不能上載項目的。
- 上載使用的 Mac 的 OS X係統必須也是正式版的,beta版本也不行。
- 請確認你安裝的Xcode是從App
Store或者是開發者網站下載的,而不是從其它通路獲取的安裝包安裝的,因為非官方途徑下載的Xcode可能帶有XcodeGhost 病毒。如何檢查?
檢查方法
四、生成PO證書
-
打開蘋果開發者中心:https://developer.apple.com
打開後點選:Account
蘋果開發者中心
下麵輸入已付款過的Apple賬號和密碼登入(如果你的電腦已經保存了密碼,會直接進入)
開發者登入賬號 -
點選:Certificates, Identifiers & Profiles (專門生成證書,綁定Bundle Id,綁定device設備,生成描述文件的地方)
Member Center -
點選Certificates生成證書
- 選擇iOS, tvOS, watchOS
- 選擇All
- 點選右上角新添加證書
添加新證書1 -
由於是做App上載,選擇生産證書(選擇App Store and Ad Hoc)
選擇App Store and Ad Hoc
註意:一個開發者賬號隻能創建(1-2個開發(測試)證書,2-3個生産(PO)證書),如果你的App Store Ad Hoc 前麵的按鈕不能選擇,則代錶你的這個賬號無法再創建新的生産證書了。
解決方法:- 從共同使用這個賬號的人電腦上生成.p12文件,導入自己的電腦。(盡量不要執行下麵第2步)
-
如果你想生成的話,把現有的刪除一個(建議刪除時間比較靠前的)。註意:如果刪除一個證書,那麼正在使用這個證書的人將不能再使用了,除非重新生成,然後利用.p12重新導入自己的電腦裏!
註意:如果你想刪除證書,執行下麵步驟,否則略過。
刪除證書
然後接上上圖,生産證書部分繼續
生成證書2
生成證書3
生成證書4 -
上載CSR文件去獲取證書(CSR文件需要我們到本機鎖匙串裏去創建)
- 在Launchpad的其他裏麵,點選鎖匙串訪問彈出如下界麵
其他
鎖匙串訪問 - 工具欄選擇鎖匙串訪問->證書助理->從證書頒發機構請求證書...
請求證書
證書信息 -
將CSR文件保存到MAC磁盤的某個位置(這裏我選擇的是桌麵,進行存儲)
存儲證書
點選完成
CertificateSigningRequest.certSigningRequest 文件
- 在Launchpad的其他裏麵,點選鎖匙串訪問彈出如下界麵
-
然後回到瀏覽器,點選choose File..
選擇CSR文件 -
選擇創建好的:CertificateSigningRequest.certSigningRequest 文件,點選選取
選取CSR文件
點選Generate上載證書
上載CSR證書 -
跳轉到如下界麵,點選 DownLoad 下載生成的證書(cer字尾的文件),然後點選Done,你創建的PO證書就會存儲在帳號中。
下載生成的證書
![](https://upload-images.jianshu.io/upload_images/1274138-15535ecf801c2233.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
註意:這個證書隻能下載一次。點選下載後,關閉頁麵後就不能再回到下載頁麵了。
如果不需要給別的電腦使用,則直接跳過下麵附加項,跳轉到第五步(綁定Bundle Identifier)
附加項:生成p12文件在其他電腦上使用這個PO證書
- 雙擊安裝證書後,打開鎖匙串訪問,選擇安裝的證書右鍵單擊
安裝的PO證書
註意:如果冇有導出,可以把這個證書刪除,然後重新雙擊下載的證書文件安裝。- 導出證書
導出證書 - 存儲證書
存儲導出的證書
註意:存儲的文件格式一定要是.p12
- 設定密碼
可以為證書設定密碼,也可以不設定密碼;如果設定了密碼,那麼別人安裝這個證書的時候就要輸入密碼,否則無法安裝。這裏就不設定密碼了。
設定密碼 - 保存導出的證書
p12PO證書
如果需要在其它電腦上也能POApp,那麼就必須要安裝這個PO證書。
- 導出證書
五、創建App IDs和綁定你的App的Bundle Identifier
回到剛才的頁麵:https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action
-
點選App IDs,進入如下界麵,點選右上角的 + 號
點選App IDs -
填寫App IDs和Bundle Identifier
填寫App IDs和Bundle Identifier
註意:- 上載App使用的Bundle Identifier(不要有-,都是英文+數字)必須是固定的,不能使用佔位符。
- 如果你的Bundle
Identifier已經在網站上綁定了,如果你又修改了你專案裏麵這個Bundle
Identifier的話,需要重新進入到開發者賬號裏麵綁定。
修改專案的Bundle Identifier
下麵選擇App中包含的服務,預設有兩項,其餘的根據自己項目的需求進行選擇
App Services
-
點選continue
點選continue -
點選Register
點選Register -
點選Done
點選Done
六、生成描述文件(描述文件的作用就是把證書和Bundle Identifier關聯起來)
-
找到Provisioning Profiles ,點選All,然後點選右上角 + 號
Provisioning Profiles -
因為是PO,所以選擇下麵App Store這個描述文件,點選Continue
選擇App Store -
在App ID 這個選項欄裏麵找到你剛剛創建的:App IDs(Bundle Identifier) 類型的套裝,點選Continue
選擇PO項目的Bundle Identifier -
選擇你剛創建的PO證書(或者生成p12文件的那個PO證書),根據自己電腦上的PO證書日期來選擇,點選Continue
選擇創建的PO證書 -
在Profile Name欄裏輸入一個名字(這個是PP文件的名字,可隨便輸入,在這裏我用專案名字,便於分別),然後點選Generate
給描述文件起個名字 -
Download生成的PP文件,然後點選Done,雙擊安裝(閃一下就完事了,冇其它效果)
Download生成的PP文件
生成的描述文件
六、在App Store開辟空間
-
回到Member Center,點選iTunes Connect
點選iTunes Connect -
登入開發者賬號(還是之前已付費的賬號)
Snip20160315_68.png -
登入成功後,點選我的App
點選我的App -
點選左上角那個+號,點選新建(註意:我們是iOS App開發,不要選Mac App啦)
新建 App -
依次按提示填入對應信息(SKU是公司用於做統計數據之類的id,根據公司需求填寫),然後點選創建
填寫App信息
註意:如果都填好以後,可能會告訴你,你的App名稱已經被佔用,那麼不好意思,你隻能改名了!(而且建議大家起名不要往比較出名的App上靠,否則審核可能會被拒絕) -
填寫App其它信息
App信息 -
填寫價格和銷售範圍(由於我的開發者賬號冇有簽訂納稅契約,所以不能上線收費應用,所以隻能暫時免費)
填寫價格和銷售範圍 -
依次把不同尺寸的App截圖拉入到對應的裏麵
需要填寫不同尺寸的手機熒幕截圖(也就是拿不同尺寸的類比器運行後,挑出至少3頁最多5頁進行截圖然後拖到回響的區裏)(在類比器Command+S 就可以保存熒幕截圖到桌麵了)(註意:如果提示拖進去的圖片尺寸不對,則把類比器弄成100%然後再Command 加 S) 尺寸參照錶在下麵
設定不同尺寸的App截圖
尺寸參照圖
尺寸參照圖 -
填寫App簡介
填寫App簡介 -
按提示依次輸入
按提示依次輸入
錯誤提示:如果上載App 圖示失敗,提示Alpha錯誤的話,看下麵。
打開你的圖示圖片,勾掉這個
勾掉這個 -
點選分級後麵的編輯,如實填寫後,點選完成
分級信息 -
填寫審核信息
填寫審核信息
版本PO就是:(然後最下麵選擇自動PO的話就是如果審核通過,就自動上載到App Store供人下載) -
此時這個構建版本還冇有生成,我們先把基本信息填寫完畢,然後再進入Xcode中把項目打包發送到過來。
註意:填寫完一定要點選右上角的保存。
七、在Xcode中打包專案
找到你剛剛下載的PO證書(字尾為.cer)或者p12文件,和PP文件,雙擊,看起來冇反應,但是他們已經加入到你的鎖匙串中。
-
在Xcode中選擇iOS Device(這裏不能選擇類比器),按照下圖提示操作
選擇iOS Device -
如果你的應用不支援橫屏,把這兩個勾去掉
如果你的應用不支援橫屏,把這兩個勾去掉 -
檢視版本號和構建版本號
檢視版本號和構建版本號 -
配置PO證書(ps:截圖時選擇的證書是錯誤的,大家註意一下,要選擇PO證書)
配置PO證書
註意:如果這裏冇有黃色歎號,代錶你的配置冇問題,如果有,那就是證書和描述文件不匹配,或者描述文件裏剛才選的Bundle和現在的專案的Bundle Identifier不一緻,去develop.apple.com 上找到你的描述文件在確認下綁定的bundle Identifier和你專案是不是一樣的?
檢查 -
將斷點、全局斷點,僵屍模式等都要去掉。
去掉斷點、全局斷點
![](https://upload-images.jianshu.io/upload_images/1274138-53f15096a922ae60.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/1400788-f5a1db276fabf6c0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/1400788-2a88c6c1192d0d2e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
6.設定Release模式(Debug是測試的,Release是PO用的)
![](https://upload-images.jianshu.io/upload_images/1400788-0aa405f4d5ead708.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/1400788-b61a9846cff4ee4c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/1400788-dc9e0fff9473162e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/1400788-a5efd847c2fcfca2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
7.選擇 Xcode下 Product 下 Archive(專門用於傳項目,或者打包項目)
![](https://upload-images.jianshu.io/upload_images/1274138-70b8ab0c2b9bb101.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/1274138-798bfadcd23603eb.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
![](https://upload-images.jianshu.io/upload_images/1274138-edee87c38ab1f640.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
8.出現下圖說明你冇有添加開發者賬號,點選右下腳Add... 按鈕就可以添加
![](https://upload-images.jianshu.io/upload_images/1400788-1e5412d2ef0dd03b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
9.輸入付費的開發者賬號
![](https://upload-images.jianshu.io/upload_images/1274138-5b8c030f7cfe2f35.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
可能會彈出下麵這個界麵,如果不彈出,按Command加。
![](https://upload-images.jianshu.io/upload_images/1274138-cf42fa9539ab7c51.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
10.然後回到Archive(選擇已付費的賬號),然後點選Choose
![](https://upload-images.jianshu.io/upload_images/1274138-5996025cf97df41e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
然後等待
![](https://upload-images.jianshu.io/upload_images/1400788-3095971312b9506a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
11.選擇Upload提交
![](https://upload-images.jianshu.io/upload_images/1274138-962feeb2f477f0e6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
12.如下就代錶上載成功,如果出錯,請參照iOS
App上載項目遇到的問題
![](https://upload-images.jianshu.io/upload_images/1400788-7ae4499c3860f795.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
13.返回ItunesConnect網站上你自己的App信息中檢視一下
![](https://upload-images.jianshu.io/upload_images/1274138-4c2ef528254c60ac.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
14.在這個構建版本這裏就可以添加代碼
![](https://upload-images.jianshu.io/upload_images/1400788-79c873cc4709c24c.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
點選+號之後選擇代碼版本
![](https://upload-images.jianshu.io/upload_images/1274138-28d9b6108694eae6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
15.提交以供審核
![](https://upload-images.jianshu.io/upload_images/1400788-dd5b07fe130a9194.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
16.App已經從準備提交,變成正在等待審核狀態
![](https://upload-images.jianshu.io/upload_images/1274138-ab1b31a9096bc8c3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
17.等待蘋果的審核...