轉載自CocoaChina,鏈接地址:http://www.cocoachina.com/bbs/read.php?tid=330302
后面問題我也遇到了,參考該文章解決的 轉自http://blog.csdn.net/ioshot/article/details/50669791
iOS APP提交上架最新流程
反復提交的過程中對上架流程熟悉了好多,寫篇帖子送給同為菜鳥的你,如果里面有很菜的東西,大牛請自動忽略,畢竟這也是還為菜鳥的我的備忘錄呢!
首先得描述一下各個證書的定位,作用,這樣在制作的時候心中有譜,對整個流程的把握也會准確一些;
1、開發者證書(分為開發和發布兩種,類型為ios Development,ios Distribution),這個是最基礎的,不論是真機調試,還是上傳到appstore都是需要的,是一個基證書,用來證明自己開發者身份的;
2、appID,這是每一個應用的獨立標識,在設置項中可以配置該應用的權限,比如是否用到了PassBook,GameCenter,以及更常見的push服務,如果選中了push服務,那么就可以創建生成下面第3條所提到的推送證書,所以,在所有和推送相關的配置中,首先要做的就是先開通支持推送服務的appID;
3、推送證書(分為開發和發布兩種,類型分別為APNs Development ios,APNs Distribution ios),該證書在appID配置中創建生成,和開發者證書一樣,安裝到開發電腦上;
4、Provisioning Profiles,這個東西是很有蘋果特色的一個東西,我一般稱之為PP文件,該文件將appID,開發者證書,硬件Device綁定到一塊兒,在開發者中心配置好后可以添加到Xcode上,也可以直接在Xcode上連接開發者中心生成,真機調試時需要在PP文件中添加真機的udid;是真機調試和必架必備之珍品;
平常我們的制作流程一般都是按以上序列進行,先利用開發者帳號登陸開發者中心,創建開發者證書,appID,在appID中開通推送服務,在開通推送服務的選項下面創建推送證書(服務器端的推送證書見下文),之后在PP文件中綁定所有的證書id,添加調試真機等;
一、證書的導出
1.1 前期工作
首先你需要有一個蘋果的開發者帳號,一個Mac系統。
如果沒有帳號可以在打開http://developer.apple.com/申請加入蘋果的開發者計划。怎么申請網上有詳細的介紹,因為我沒有實際申請過,所以在此不多做介紹。
如果你已經有了一個IDP,打開https://developer.apple.com/並登錄到蘋果MemberCenter,登錄以后可以看到下面這個界面,列出了你開發需要的一些工具,支持,itunes app管理等內容。見下:
選擇Certificates, Identifiers & Profiles(左邊第二項),申請證書、App ID、設備等配置都在此處。見下:
以上是對應開發的不同版本對應的不同的配置,我上架的是手機版,所以就選擇了iOS Apps 中的Certificates
1.2 申請App Id
選擇App IDs ——>點擊+創建一個新的App ID
其中有兩項需要你自己填:
第一個Name,用來描述你的AppId,這個隨便填,沒有什么限制,最好是項目名稱,這樣方便自己辨識(不允許中文哦);
第二項Bundle ID (App ID Suffix),這是你appid的后綴,這個需要仔細。因為這個內容和你的程序直接相關,后面很多地方要用到,最好是com.yourcompany.yourappname的格式,我用的是項目中的Bundle ID(反正這樣是最保險的)
第三項App Services,默認會選擇2項,不能修改,只需要選擇上自己需要的服務即可,不知道在哪里看到說是必須要選上推送,否則后面就沒有辦法修改了,但是我自己測試的是可以修改的。如果不放心的同學可以選擇上哦!
然后點擊Continue確認沒有錯的話直接點擊Submit后點擊Done即完成App Id的創建
1.3 創建證書
1.3.1、先創建一個證書請求文件
這兒需要一個Mac系統。以下內容以OS X Yosemite系統為例,另外版本差別不是很大。
首先打開應用程序-實用工具-鑰匙串訪問(KEY CHAIN),在證書助理中,選擇"從證書頒發機構求證書",如下圖:
在下圖所示的界面,你的電子郵件地址:填你申請idp的電子郵件地址,常用名稱,默認就好,CA空,選擇存貯到磁盤,點擊"繼續":
選擇保存的位置,比如選擇桌面。下一步點擊完成,你就可以看到你的桌面多了一個CertificateSigningRequest.certSigningRequest的證書請求文件。注:CSR文件盡量每個證書都制作一次,將常用名稱區分開來,因為該常用名稱是證書中的密鑰的名字。
1.3.2 制作Provisioning Profile證書文件
1.3.2.1 開發者證書的制作:登陸到開發者中心,找到證書配置的版塊,選擇
,點擊右上角的加號:
發布證書和開發者證書需要操作兩次,分別創建,開發者證書用於真機調試,發布證書用於提交到AppStore。
然后下一步,會提示創建CSR文件,也就是證書簽名請求文件。
直接選擇我們上一步保存在桌面的CertificateSigningRequest.certSigningRequest的證書請求文件即可。
提交上去后就會生成一個cer證書,如圖所示,有效期為一年。
點擊DownLoad,雙擊安裝。(如果安裝不上,可以直接將證書文件拖拽到鑰匙串訪問的列表中)
需要注意的是,雖然在左邊欄證書欄中也可以直接創建推送證書,但是還是建議在appID中,勾選了push服務后在此處創建,這樣會避免因為忘了開通push服務而導致推送不可用的情況發生;
1.3.2.2 Provisioning Profile證書制作:到這一步證書還沒湊全,想提交AppStore還需要PP證書。
點擊Provisioning Profiles,然后點擊右上角的加號。
該流程也需要進行兩次,分別創建開發用的PP證書和發布的PP證書。Ad Hoc格式一般用於企業帳號,此處我們忽略;
下一步的選擇項里會自動檢測匹配你的AppID,另外下拉項中還可以選擇wildCard格式。
注意:wildCard格式的證書沒有推送,PassCard等服務的應用,慎重選擇。 繼續,這里有一個區別,因為PP證書的開發者證書需要真機調試,所以我們需要綁定真機,這里因為之前我添加過一些設備,所以這里就可以直 接全選添加,如果沒有的話,需要將真機的udid復制出來在此添加,在發布PP文件中,是沒有這一步的。
之后就是輸入一個PP證書的名字了,然后生成,下載保存,雙擊就添加到Xcode中,這樣在真機調試或者發布時,就可以分別有不同的PP證書與其對應。【其實可以不用下載保存,具體原因后面會介紹到】
1.4 配置項目環境
1.4.1 Account的配置
Xcode——>Preferences 就會出現Account的配置界面,如圖:
點擊+可以選擇Add Apple ID;點擊View Details可以查看該Apple Id下的Certificates和Provisioning Profile證書文件,在這里你可以點擊下載。
1.4.2 項目的配置
在項目Targets下的Identity中,Team選擇對應的Apple ID 即可
在XCode的項目設置里,Provisioning Profile就可以選擇對應的證書。
前期的准備工作就算完成了。
二、 ipa打包
2.1 Archive在線打包
在真機狀態下選擇Product——>Archive(如果不是真機狀態下,Archive會是灰色不可用的),成功會彈出如下圖:
網上說先點擊Validate進行驗證,雖說驗證的過程有點小慢,但是為了審核順利點,還是驗證下為好(有次validate一直不成功,直接導出ipa的安裝包也沒錯誤,因為不上傳到市場,所以暫時沒有遇到問題。這算是應付公差,不建議使用哦)。
驗證成功后點擊Export導出ipa的包用與上傳即可。
三、ipa提交App Store
3.1 在itunes中創建程序
登錄開發者中心,選擇Itunes Connect,進入后選擇“我的App”如下圖:
點擊左上角的+選擇“新建App”,根據自己的app然后填寫相應的信息即可,因為項目較多,就不一一講解了,但是其中的注意事項會寫到:
1、選擇語言的時候,簡體中文是Simplified Chinese,不要再找Chinese了,找不到的(我就是
)
2、套裝ID與SKU主要是app的唯一標識吧,我是用的項目中Bundle Identifier的內容,即com.company.projectname
(App信息以及價格與定價根據app不同自己填寫就可以了)
3.上傳App Icon的時候,注意那個問號哦,需要上傳1024*1024的,而且不能有圓角效果哦!
4.這里需要不同屏幕的截圖,可以直接用模擬機運行后截圖。待模擬器運行開始的時候,按住cmd+S, 模擬器的屏幕截圖就直接保存在桌面上了。
5.上傳的時候會提示“無法載入文件”的問題。原因是:截圖保存的文件名有中文,修改下截圖名稱即可!
6.屏幕尺寸大家都可以查到,為了自己方便,簡單備注下:
4.7英寸 ——>iphone6 5.5英寸——>iphone 6 plus 4英寸 ——>iphone5S 3.5英寸 ——> iphone 4S
7、ipa包的上傳:我使用的是Applicaton Loader
點擊選取,選擇導出的ipa的文件,然后選擇對應的信息,成功之后,30分鍾~1小時差不多久可以在“構建版本”首次的話會直接提交app,如果有多個版本的話,需要在這里選擇對應需要審核的版本即可
8、
不要忘記填寫測試賬號,否則會被拒的,而且一定要跟服務器同事說好,不要刪除測試賬號,否則同樣被拒(我就遇到了
) 9、聯系*****中需要加中國的區號+86后面是具體的聯系*****,如:+86 15167896568
10、還有個IDFA的廣告得到選擇,看着提示如果出現偏差感覺都要搞砸的樣子,所以找到網上一個選擇,應該不會出錯
大功告成了,希望可以幫到別人,也希望自己不要忘記
--------------------------------------------------------------分割線---------------------------------------------------------
最后說一下我遇到的小問題:
打包上傳AppStore,結果Xcode報以下錯誤:
Missing iOS Distribution signing identity for XXXXXX
查看證書后發現,Develop證書和Distribution證書都提示“此證書的簽發者無效”。
什么是AppleWWDRCA證書?
搜索資料發現,原因是AppleWWDRCA (Apple Worldwide Developer Relations Certification Authority) 證書過期了。
AppleWWDRCA證書實際上就是對iOS證書(即Develop證書和Distribution證書)的授權認證,其公鑰用於解密認證證書的可靠性。
iOS以及Mac OS X系統(在安裝Xcode時)將自動安裝AppleWWDRCA.cer(Apple Worldwide Developer Relations Certification Authority)這個中間證書(Intermediate Certificates)。
問題解決
需要更新AppleWWDRCA證書。
1.https://developer.apple.com/certificationauthority/AppleWWDRCA.cer下載最新AppleWWDRCA證書,雙擊安裝。
2.打開鑰匙串,選擇登錄,然后選擇下面的證書。
3.選擇桌面左上角的顯示→顯示已過期的證書。
4.這時候你會發現一個過期的“WWDR Certificate”(Apple Worldwide Developer Relations Certification Authority),刪除它。
特別注意:有的在系統那一欄也有這個過期的“WWDR Certificate”,也一並刪除它,沒有就不作處理。
5.再回頭點擊Develop證書和Distribution證書,不出意外他們都變成“此證書有效”了。