說(shuō)實(shí)話(huà)秫逝,公司要上架一個(gè)自己做的一個(gè)小項(xiàng)目古程。為了完成這個(gè)任務(wù)煎殷,菜鳥(niǎo)的我一遍找資料一遍跟著做屯伞,一遍修改錯(cuò)誤一遍查找解決方案。網(wǎng)上的資料大部分都是2015年以前的資料豪直,資料有點(diǎn)不夠過(guò)時(shí)劣摇,而且步驟配圖也不是很詳細(xì),導(dǎo)致我花費(fèi)了整整4天的工作日只為實(shí)現(xiàn)appstore上架弓乙。哎呀末融,也是夠蛋疼的,appstore上架的每個(gè)流程都要確認(rèn)無(wú)誤暇韧,每一步的錯(cuò)誤都會(huì)導(dǎo)致最終的失敗勾习。這個(gè)shit的操作,再也對(duì)你無(wú)愛(ài)了懈玻。
推薦一篇比較詳細(xì)有用文章:
appStore上傳蘋(píng)果應(yīng)用程序軟件發(fā)布流程_iOS開(kāi)發(fā)群雄_新浪博客
常見(jiàn)問(wèn)題解決方案:
解決IOS開(kāi)發(fā)證書(shū)“此證書(shū)的簽發(fā)者無(wú)效”的問(wèn)題_百度經(jīng)驗(yàn)
ios app 上傳時(shí) ERROR ITMS-90096
解決Invalid Code Signing Entitlements 問(wèn)題 - lady-奕奕的個(gè)人空間 - 開(kāi)源中國(guó)社區(qū)
好了巧婶,吐槽和發(fā)泄的話(huà)就少說(shuō),下面就正式進(jìn)入Appstore上架流程了涂乌。
1.首先你的準(zhǔn)備一個(gè)個(gè)人開(kāi)發(fā)者賬號(hào)艺栈、公司開(kāi)發(fā)者賬號(hào)。---我這里是公司開(kāi)發(fā)者賬號(hào)骂倘,是什么賬號(hào)不要緊眼滤,因?yàn)橹灰虚_(kāi)發(fā)者(appstore發(fā)布應(yīng)用)權(quán)限就可以了。
2.準(zhǔn)備好Xcode以及要上架的項(xiàng)目历涝。(Xcode最好是Xcode7.1以上的版本)--樓樓的Xcode版本就是7.1的诅需。
3.進(jìn)入蘋(píng)果開(kāi)發(fā)者官網(wǎng):
點(diǎn)擊account漾唉,如下圖:
進(jìn)入登錄界面,登錄
4. 登錄之后,點(diǎn)擊Certificates, Identifiers & Profiles堰塌,為項(xiàng)目創(chuàng)建Bundle ID 赵刑、發(fā)布證書(shū)、以及權(quán)限文件(Profiles)
進(jìn)入Certificates, Identifiers & Profiles之后场刑,點(diǎn)擊App IDs-->"+"添加按鈕, 為項(xiàng)目添加Bundle ID
進(jìn)入創(chuàng)建APP IDs 的界面般此。
App ID Description 的name 可以隨意填。
Bundle ID 最好的格式是:(如:com.cpmpany.yayade)牵现。
這里Bundle ID是要和Xcode項(xiàng)目中的Bundle Id 一致的铐懊。(最好將項(xiàng)目中的Bundle Id復(fù)制過(guò)來(lái))
如果有推送功能,要把“Push Notifications”勾選瞎疼,反正就是項(xiàng)目用到什么功能或服務(wù)就把相應(yīng)的選項(xiàng)勾選科乎。
之后就是 continue -->register 完成注冊(cè)bundle ID的工作
5.接下來(lái)就要請(qǐng)求證書(shū)。
找到mac 自帶的“鑰匙串訪問(wèn)”軟件贼急,鑰匙串訪問(wèn)-->證書(shū)助理-->從證書(shū)頒發(fā)機(jī)構(gòu)請(qǐng)求證書(shū)
之后在證書(shū)助理界面填寫(xiě)相關(guān)內(nèi)容茅茂,并將保存到本地桌面。
如下圖桌面上生成的.certSigningRequest證書(shū)
6.返回到之前的開(kāi)發(fā)者網(wǎng)站:
Sign in with your Apple ID - Apple Developer
去生成發(fā)布證書(shū)太抓。
點(diǎn)擊 “+”按鈕之后空闲,出現(xiàn)以下內(nèi)容界面,只需要選擇“App Store and Ad Hoc” 即可走敌,然后continue碴倾。
、掉丽、影斑、、机打、、片迅、残邀、、柑蛇、芥挣、、耻台、空免、、盆耽、蹋砚、扼菠、、坝咐、循榆、、墨坚、
如果你發(fā)現(xiàn)Production ?下面的 ?“App Store and Ad Hoc”不可選Q硪!泽篮!
原因及解決方案:因?yàn)橐粋€(gè)用戶(hù)名下只能同時(shí)有一個(gè)發(fā)布證書(shū)盗尸,你之前建立了某個(gè)證書(shū)并且沒(méi)有使用的話(huà)就無(wú)法再創(chuàng)建了,先把它撤銷(xiāo)或者使用后才可以繼續(xù)創(chuàng)建新的
帽撑、泼各、、油狂、历恐、、专筷、弱贼、、磷蛹、吮旅、、味咳、庇勃、、槽驶、责嚷、、、、雄右、着帽、、
兩次continue之后,進(jìn)入以下界面(如下圖)
選擇 “Choose File...”按鈕 ,將我們剛剛生成的.certSigningRequest證書(shū)導(dǎo)入。--->continue--> downLoad-->Done
生成發(fā)布證書(shū)之后柿菩,下載(downLoad)-->找到下載的文件雙擊自動(dòng)安裝。
之后我們可以在“鑰匙串訪問(wèn)”軟件看到我們剛剛安裝好的發(fā)布證書(shū)雨涛。
如果看到開(kāi)發(fā)者證書(shū)無(wú)效枢舶。解決方案詳見(jiàn):http://my.oschina.net/sfandy/blog/617139?fromerr=OT2Ptq54
如果解決完“開(kāi)發(fā)者證書(shū)無(wú)效”的問(wèn)題就要將第6步操作重新做一遍懦胞,生成有效的證書(shū)。
7.生成profiles 證書(shū)
點(diǎn)擊“+”之后
App ID : 選擇含有對(duì)應(yīng)Bundle Id 的app Id祟辟。
之后就是下載文件:downLoad-->找到下載的文件雙擊自動(dòng)安裝医瘫。
8. 進(jìn)入ITunes Connect
創(chuàng)建成功之后會(huì)進(jìn)入:
9.用Xcode打開(kāi)你要上架的項(xiàng)目。
將 Release copy 改為 distribution旧困,如下圖醇份。
選擇我們剛剛的distribution
配置(1.)TARGETS里面的General的Bundle? Identifier,
? ? ? ?(2.)TARGETS里面的Build Settings的Code Signing Identity
這里的Provisioning Profiles 選擇我們生成的Profiles證書(shū)吼具。
? ? ? ?(3.)PROJECT里面的Build Settings的Code Signing Identity
10. Archive
archive時(shí)會(huì)遇到各種失敗的情況:
(1.)
解決方案 :將三方框架重新導(dǎo)入一遍:即在終端執(zhí)行:pod update 命令
(2.)ERROR ITMS-90096
解決方案:ios app 上傳時(shí) ERROR ITMS-90096
(3.)Invalid Code Signing Entitlements
解決方案:方案A.
?解決Invalid Code Signing Entitlements 問(wèn)題 - lady-奕奕的個(gè)人空間 - 開(kāi)源中國(guó)社區(qū)
? ? ? ? ? ? 方案B.Target或者是Project的Build Settings-->Code Signing Identity-->Provisioning Profiles ?沒(méi)有選擇對(duì)應(yīng)正確的Profiles證書(shū)
(4.)出現(xiàn)No matching provisioning profile found: Your build settings specify a provisioning profile with the UUID “7738acfb-4d92-4525-adbe-fb66e9957009”, however, no such provisioning profile was found錯(cuò)誤提示
解決方案:
試一下這個(gè)吧僚纷。
Your build settings specify a provisioning profile with the UUID
如果archive成功了,就會(huì)出現(xiàn):
如果UpLoad to App Store 出現(xiàn)以下錯(cuò)誤:
(1.)
解決方案:重新upload to App Store.
11.UpLoad to App Store成功之后拗盒,回到ITunes Connect
完善app一些具體信息
注意:
構(gòu)建版本會(huì)在你UpLoad to App Store成功之后的半個(gè)小時(shí)內(nèi)怖竭,顯示構(gòu)建的版本。
半個(gè)小時(shí)之后就會(huì)出現(xiàn)如下(記得刷新該頁(yè)面):
在構(gòu)建版本處陡蝇,出現(xiàn)上面內(nèi)容之后痊臭,直接提交審核。
如果提交不成功出現(xiàn)一下錯(cuò)誤:
解決方案:技術(shù)支持網(wǎng)站沒(méi)有填寫(xiě)登夫,把它填上就可以嘍广匙。