IOS應(yīng)用程序發(fā)布到蘋果APP STORE完整流程
參考: http://blog.csdn.net/mad1989/article/details/8167529(xcode APP 打包以及提交apple審核詳細(xì)流程(新版本更新提交審核))
http://www.ttlsa.com/dev/how-to-publish-iosapp-to-appstore/? (如何發(fā)布IOS應(yīng)用程序到蘋果APP STORE)
開發(fā)環(huán)境:xcode5.1.1
iPhonesdk:7.1
開發(fā)機(jī)器:iMac
真機(jī)部署測(cè)試:apple個(gè)人開發(fā)者ID
向?qū)В?/p>
必備IDP證書和distribution證書(第一個(gè)證書是真機(jī)部署測(cè)試時(shí)用到的,后者證書是發(fā)布時(shí)需要用到的,缺一不可)。
http://www.cnblogs.com/JuneWang/p/3798201.html (該鏈接所指文章實(shí)現(xiàn)了消息推送的功能、詳細(xì)講解了各個(gè)證書的申請(qǐng),以及使用)
http://www.ttlsa.com/dev/ios-kaifazhe-shenqing-zhengshu/(iOS開發(fā)這申請(qǐng)發(fā)布證書) http://www.ttlsa.com/dev/ios-kaifazhe-shenqing-zhengshu/
我就說(shuō)說(shuō)接下來(lái)應(yīng)該做的流程。在你保證擁有以上兩個(gè)證書的前提下,距離app提交審核,已經(jīng)剩下兩大步了:1,itunes-connect創(chuàng)建app,填寫項(xiàng)目詳細(xì)信息。2,xcode打包驗(yàn)證通過(guò),提交項(xiàng)目。好的,我就開始說(shuō)重點(diǎn)了,童鞋們跟著我的流程走,保證不會(huì)迷糊和出錯(cuò)。
1.預(yù)先準(zhǔn)備
在你開始將程序提交到App Store之前,你需要有一個(gè)App ID,一個(gè)有效的發(fā)布證書,以及一個(gè)有效的Provisioning profile。下面來(lái)看看它們各自的作用。
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可以用來(lái)構(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ā)布證書),過(guò)程類似于創(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。不過(guò),你不能使用和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來(lái)跟之前創(chuàng)建的distribution provisioning profile相匹配。最近添加的provisioning profiles有時(shí)候不會(huì)立馬就在build settings的 Code Signing中看到,重啟一下Xcode就可以解決這個(gè)問(wèn)題。
配置Target的Build Settings
Step 5: Deployment Target(部署目標(biāo))
非常有必要說(shuō)下deployment target,Xcode中每個(gè)target都有一個(gè)deployment target,它可以指出app可以運(yùn)行的最小版本。不過(guò),一旦應(yīng)用在App Store中生效,再去修改deployment target,你要考慮到一定后果。如果你在更新app的時(shí)候提高了deployment target,但是已經(jīng)購(gòu)買應(yīng)用的用戶并沒有遇到新的deployment target,那么應(yīng)用就不能在用戶的移動(dòng)設(shè)備上運(yùn)行。如果用戶通過(guò)iTunes (不是設(shè)備)下載了一個(gè)更新過(guò)的app,然后替代了設(shè)備上原先的版本,最后卻發(fā)現(xiàn)新版本不能在設(shè)備上運(yùn)行,這確實(shí)是個(gè)問(wèn)題。
(1) 當(dāng)你決定提高現(xiàn)有app的deployment target時(shí),要在新版本的版本注釋中進(jìn)行說(shuō)明。如果你提前告知用戶,那么至少有一點(diǎn),你已經(jīng)盡力阻止問(wèn)題的發(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è)說(shuō)法并不準(zhǔn)確,比如iOS 6, iOS 6發(fā)布后一個(gè)月,超過(guò)60%的設(shè)備已經(jīng)進(jìn)行了更新 。但對(duì)Android而言,就是另外一回事了, Android用戶并不會(huì)像iOS用戶那樣熱衷于更新操作系統(tǒng)版本 。
【以上簡(jiǎn)而言之,最好從項(xiàng)目設(shè)計(jì)時(shí),就決定是否考慮兼容低版本用戶,支持的話,寫代碼時(shí)使用ios新特性時(shí)最好做一下判斷,if是老版本if是新版本】
在最新的WWDC2014上,公布的數(shù)字顯示,iOS7的市場(chǎng)占有率已經(jīng)為87%
2. 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)
120px x 120px(required) for iPhone5/iPhone5c/iPhone5s
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ì)購(gòu)買。不過(guò),你所上傳的屏幕截圖也不一定非得是實(shí)際的截圖,看看 Where’s My Water? 截圖可以通過(guò)使用此策略,更具吸引力和說(shuō)服力。
當(dāng)我們連上調(diào)試機(jī)以后??梢岳肵code中Organizer中的New Screenshot輕松的截出標(biāo)準(zhǔn)大小的圖片。
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è)【打開APP需要登錄,比如飛信】,你還得向蘋果提供一個(gè)測(cè)試賬戶或者demo賬戶,這樣審核人員就能很快進(jìn)入app,而不用再注冊(cè)賬號(hào)。
3. 提交準(zhǔn)備
Xcode 4以后,開發(fā)者提交應(yīng)用的過(guò)程就簡(jiǎn)單多了,可以直接使用Xcode進(jìn)行提交。首先在 iTunes Connect中創(chuàng)建app,訪問(wèn)iTunes Connect,使用你的iOS開發(fā)者賬號(hào)登陸,點(diǎn)擊右邊的“Manage Your Apps”,點(diǎn)擊左上角的“Add New App”,選擇“iOS App”,然后完成表格。
(注意,創(chuàng)建時(shí)填的APP就是你開發(fā)的項(xiàng)目,名稱和ID一定要相同)。 [url]https://itunesconnect.apple.com [/url]
點(diǎn)擊進(jìn)入
第一個(gè)頁(yè)面,選擇語(yǔ)言,應(yīng)用名稱,skunumber,bundleID(會(huì)讓你選擇自己創(chuàng)建項(xiàng)目的APPID)。 (答疑:在我們進(jìn)行版本更新的時(shí)候
名字,描述,新版本描述,關(guān)鍵詞,支持URL,截圖
聯(lián)系方式,Review Ntoes
)均可以更改
SKU Number是一個(gè)用來(lái)識(shí)別app的特殊字符串。我經(jīng)常使用app的bundle identifier。最下邊是app的 Bundle ID,你可以從下來(lái)菜單中選擇通配符App ID或者準(zhǔn)確的App ID。
[align=leftr]這個(gè)頁(yè)面是選擇app上線的日期(因?yàn)閍pple還需要審核,一般都是推遲幾天),售價(jià),以及是否支援教育機(jī)構(gòu)之類的。
以上頁(yè)面是寫版本號(hào),公司名稱,軟件首類別,次類別(注意兩個(gè)類別不得重復(fù),否則不會(huì)通過(guò)),以及評(píng)級(jí)劃分。
以上是軟件的內(nèi)容描述,關(guān)鍵字,技術(shù)支持url,以及下面的技術(shù)負(fù)責(zé)人的名字,姓,email,手機(jī)號(hào)碼,這些都很簡(jiǎn)單,你們都懂的。
接下來(lái)是選擇APPicon 一張1024X1024的軟件圖標(biāo),讓ui做吧,我也不曉得軟件的圖標(biāo)為啥要做這么大;
繼續(xù)上傳5張軟件的截圖,要挑選最重要的圖片展示,大小是640x960,xcode上集成了截圖功能,則是打開window-organizer視圖窗口,點(diǎn)擊自己的手機(jī)標(biāo)簽頁(yè)下的screenshot,就可以截圖了,尺寸正好,很方便的噢親。
有常規(guī)的iphone4,iphone5,以及ipad各個(gè)add的入口,有的話就上傳,沒有的話就空著
由于上傳時(shí)我忘記截圖了,所以次頁(yè)面就不能展示給大家了,不過(guò)很簡(jiǎn)單的一看就懂。
完事后檢查無(wú)誤,點(diǎn)擊提交。
選擇是否使用各種加密技術(shù),是否使用第三方的內(nèi)容,是否有廣告等。
好了,走到這一步,基本上算是完成了一個(gè)app的創(chuàng)建,這里列舉了你的skunumber,bundleID,appleID,隨處可見的edit點(diǎn)擊進(jìn)入可以修改剛才提交的信息,看到紅色圈住的狀態(tài)了:prepare for upload 千萬(wàn)不要認(rèn)為此時(shí)工作完成了,還差一步,如果此時(shí)你關(guān)閉了頁(yè)面,準(zhǔn)備最后一步,你會(huì)發(fā)現(xiàn)到時(shí)會(huì)出錯(cuò)的。我就因?yàn)檫@個(gè)繞了半天。
點(diǎn)擊坐下的view Details進(jìn)入后的頁(yè)面回會(huì)是此軟件的一個(gè)詳細(xì)列表展示了軟件的名稱,描述,軟件截圖,技術(shù)聯(lián)系人信息,等??赐隉o(wú)誤后,一定要點(diǎn)擊右下角(或右上角)的按鈕( Ready to Upload Binary),只有點(diǎn)了這個(gè)按鈕,才會(huì)改變當(dāng)前status的狀態(tài)為:waiting for upload。
【注意:如果是Ready for upload 狀態(tài),在xcode下打包提交應(yīng)用,會(huì)有:No suitable application records were found. Please make sure that you have set up a record for this application on iTunes Connect.的錯(cuò)誤提示?!?/p>
此時(shí),如果你的首頁(yè)status變成了:waiting for upload 那么恭喜你,此步順利通過(guò),剩下最后了。(注意如上截圖,點(diǎn)擊continue,完成了網(wǎng)頁(yè)的所有工作)。
4.xcode上操作:設(shè)置證書,build打包,提交項(xiàng)目。
打開xcode,首先確保你配置好了distribution證書,看我如下截圖。
確保debug和release都是選中我們申請(qǐng)好的distribution證書。到了次步驟,有的教程說(shuō)創(chuàng)建一個(gè)新的codesigning identity 我也嘗試創(chuàng)建了,不過(guò)這里不推薦新手創(chuàng)建,因?yàn)槭褂胷elease照樣可以打包,創(chuàng)新新的identity認(rèn)為會(huì)讓新手更暈菜。(如上截圖)
5. 上傳二進(jìn)制文件
?接下來(lái)打包應(yīng)用程序(前提,已經(jīng)申請(qǐng)過(guò)發(fā)布證書并安裝,未申請(qǐng)的請(qǐng)參照本文開頭的鏈接進(jìn)行操作)
a.打開Xcode,選擇Product->Archive (必須采用真機(jī))
b.然后選擇distribute…
c.選擇第二個(gè)
d.選擇發(fā)布證書
點(diǎn)擊next之后便會(huì)生成.ipa文件
3.上傳.ipa文件,,需要用mac自帶的Application Loader
a.在finder中選擇應(yīng)用程序(Applications)->右鍵選擇Xcode->顯示包內(nèi)容->contents->Applications->Application Loader
b.打開Application Loader會(huì)出現(xiàn)登錄界面,同樣用登錄開發(fā)者中心的賬號(hào)登錄,第一次登錄會(huì)出現(xiàn)一個(gè)接受協(xié)議頁(yè)面,打√后繼續(xù)就行了
c.進(jìn)入后選擇Deliver Your App,會(huì)出現(xiàn)你在developer中心填寫的項(xiàng)目,是等待上傳狀態(tài),選擇上傳ipa就可以了。
4.上傳成功后再回到開發(fā)者中心,刷新頁(yè)面就會(huì)發(fā)現(xiàn)項(xiàng)目是等待審核狀態(tài)了,正常審核周期是5個(gè)工作日
注意:
在使用 Application Loader上傳.ipa文件的過(guò)程中,遇到了以下問(wèn)題,
通過(guò)修改
Valid Architectures 刪掉arm64/arm7s,只保留armv7
提醒:
如果你使用了CocoaPods來(lái)進(jìn)行第三方類庫(kù)管理,你需要把你CocoaPods管理的工程的(Valid Architectures 刪掉arm64/arm7s,只保留armv7)
哈哈。第一次發(fā)布。碰到了很多問(wèn)題,得到了不少好友幫助,非常感謝。
也希望本文能對(duì)即將發(fā)布系統(tǒng)的你起到一些知道、幫助。那我也將會(huì)非常開心。
因?yàn)檫€沒體驗(yàn)過(guò)應(yīng)用更新,所以一下內(nèi)容均摘抄自? ? ? http://blog.csdn.net/mad1989/article/details/8167529
好了,接下來(lái)說(shuō)一下,如何在有IDP證書,開發(fā)者賬號(hào)的情況下,通過(guò)正規(guī)途徑,導(dǎo)出ipa,安裝在任意iphone手機(jī)中(親測(cè)越獄手機(jī))
當(dāng)我們?cè)谏蠋撞?,打包build的時(shí)候,觀看你項(xiàng)目的Products文件夾下,已經(jīng)生成了真實(shí)的app,不過(guò)這個(gè)還不是我們真正想要的.ipa文件。(如上截圖)選中Product下的app,右鍵show in Finder,此時(shí)打開我們的itunes,拖動(dòng)軟件到itunes下。
此時(shí),我們的軟件就拖到了itunes中了,可是發(fā)現(xiàn)沒有軟件圖標(biāo)啊,不用怕,這是很正常的。右鍵軟件,選擇在Finder中顯示(如上截圖)
此時(shí),眼前這個(gè)軟件,就是我們想要的ipa啦。我親測(cè)安裝到越獄后的手機(jī),一點(diǎn)問(wèn)題都沒有(不用擔(dān)心證書的問(wèn)題)【注意:越獄手機(jī)的版本一定要高于軟件的版本要求】
目前還沒有測(cè)試未越獄的手機(jī),不過(guò)我想應(yīng)該無(wú)法安裝,因?yàn)閍pple的審查機(jī)制是很嚴(yán)格的,必須安裝在有描述文件Provision的手機(jī)中內(nèi)(這一點(diǎn)在真機(jī)部署測(cè)試時(shí)就已經(jīng)體現(xiàn)出來(lái)了)
2014年5月30日插播
如果您都看到了這里,我真的佩服您能忍受我如此繁瑣的措辭,因?yàn)闀r(shí)間原因,寫一篇博客并不是很容易,所以有些語(yǔ)言或是排版組織的不是很好,1年過(guò)來(lái)了,現(xiàn)在我終于理解整個(gè)調(diào)試以及發(fā)布以及多人開發(fā)的流程,如果您現(xiàn)在也是朦朧狀態(tài),感覺apple的機(jī)制好麻煩,或是在多人開發(fā)時(shí)遇到了:Valid signing identity not found 不妨建議您看我另一篇文章,文章最后介紹了Certificate、App ID、Devices、Provisioning Profiles之間區(qū)別和聯(lián)系,相信您看完后一定會(huì)恍然大悟!
Valid signing identity not found解決辦法(原有IDP私鑰丟失)及Certificate、App ID、Devices、Provisioning Profiles之間區(qū)別http://blog.csdn.net/mad1989/article/details/8699147
好了,謝謝各位看到這里,說(shuō)的有些啰嗦,但是如果你按照此步驟,走完流程,就會(huì)悟出其原理。至少不是看到一教程,又看到另一教程,都不一樣,干著急。
有什么問(wèn)題可以給我留言,我看到后會(huì)盡量幫助大家解決,一起學(xué)習(xí),成長(zhǎng)。
贈(zèng)送傳送門一個(gè): http://www.cocoachina.com/special/market.html
20121109
mryang
2013年1月14日最新更新 :新版本提交審核
當(dāng)我們經(jīng)過(guò)重重關(guān)卡,新項(xiàng)目終于在AppStore 上線之后,就會(huì)接踵而來(lái)遇到維護(hù)的問(wèn)題,那么新版本提交,就沒有這么復(fù)雜了,如果以上的教程你都理解了,新版本也就那么幾個(gè)需要注意的地方,聽我慢慢道來(lái)。
1,首先需要修改代碼,就是說(shuō),你要有更新的內(nèi)容,比如功能,比如bug(貌似是廢話)
2,當(dāng)確定一切都o(jì)k之后,需要設(shè)置項(xiàng)目的version和build號(hào),新版本
Version是顯示對(duì)外的版本號(hào),(itunesconect和Appstore用戶可以看到),而build別人看不到,只有開發(fā)者自己才能看到,相當(dāng)于內(nèi)部版本號(hào)?!靖掳姹镜臅r(shí)候,也要高于之前的build號(hào)】
3,登錄ituneconnect網(wǎng)站,在項(xiàng)目右側(cè),點(diǎn)擊add new version ,彈出提示輸入版本名稱和更新內(nèi)容,完事后點(diǎn)save。
4,在網(wǎng)站上詳細(xì)審查一下新的版本名稱和更新內(nèi)容,還有是否有需要替換的截圖,確定無(wú)誤后點(diǎn)右上角的ready to binary ,到此網(wǎng)站的設(shè)置完畢。接下來(lái)就是xcode提交新項(xiàng)目了?!敬嗽O(shè)置有一個(gè)需要注意的提示,如下截圖】
讓你選擇是審核通過(guò)后自動(dòng)更新到應(yīng)用商店,或是自己手動(dòng)控制更新,很人性化。
5,Xcode設(shè)置 codesign identity 為發(fā)布的證書,Divice選則iosDevice ,然后build 然后archive,跟上邊第一次發(fā)布時(shí)一樣。
6,打開organizer界面的archive標(biāo)簽頁(yè),檢查無(wú)誤后,先驗(yàn)證Validate后Distribute。
等待完畢后,如果沒有什么問(wèn)題,刷新itunescnnet網(wǎng)站吧,你新提交的項(xiàng)目狀態(tài)變成了: Waiting For Review
20120114
**********************************打包上傳時(shí)錯(cuò)誤匯總《持續(xù)更新》**********************************
上傳時(shí)出錯(cuò):Application failed codesign verification.
它是說(shuō),你的簽名不對(duì),打包發(fā)布APP時(shí),一定要使用Release模式,并把證書選擇為自己的Distribution發(fā)布證書。
關(guān)于Validate Built Product設(shè)置YES或NO
有時(shí)打包遇到錯(cuò)誤,網(wǎng)上都說(shuō),在Target設(shè)置----->build------>Validate Built Product選項(xiàng)去掉或設(shè)置為NO就可以了。從網(wǎng)上搜了一下Validate Built Product的含義,大概意思是說(shuō)開啟內(nèi)置驗(yàn)證,比如apple規(guī)定的一些icon大小是57X57,而你的icon尺寸不是這個(gè),就會(huì)導(dǎo)致發(fā)布失敗。
上傳時(shí)出錯(cuò):code signing is required for product type Application in SDK iOS 6.1.
這個(gè)是說(shuō),debug的證書選擇錯(cuò)誤了,解決辦法:
TARGETS --> Build Settings --> Code Signing --> Code Signing Identity設(shè)置為 iPhone Developer
這樣就ok啦。
上傳時(shí)警告:cApplication failed codesign verification. The signature was invalid, or it was not signed with an Apple submission certificate. (-19011).
這個(gè)警告,網(wǎng)上遇到的人很多,但是眾說(shuō)紛紜,貌似沒有一個(gè)權(quán)威的解決辦法,
首先要養(yǎng)成一個(gè)查閱官方文檔的習(xí)慣:https://developer.apple.com/ios/manage/distribution/index.action
要明白真機(jī)調(diào)試和發(fā)布應(yīng)用的幾個(gè)步驟,不能連APP還沒創(chuàng)建,就直接想用Xcode打包發(fā)布?。∵€有要明白debug和release的作用和區(qū)別。
這個(gè)警告,我的理解是:
前提確認(rèn)Xcode是近期的版本,工程的SDK也至少要是常用的。APPID正確,真機(jī)調(diào)試證書和Distribution證書都對(duì)應(yīng)于當(dāng)前Xcode設(shè)置。
首先檢查你的Project的info是否正確了,還有就是Target設(shè)置是否正確..
然后注意不要使用模擬器build,要選擇Device,去Edit scheme里查看archive的時(shí)候,是不是使用的release!
如果都不行就刪除鑰匙串里的相關(guān)文件,重新去ADP里申請(qǐng)?jiān)傧螺d!
20130510
上傳時(shí)出錯(cuò):failed to get the task for process 624
This error happens when you have set Distribution Provisioning profile in code signing. Change it to Developer Provisioning Profile, then it will work. Worked for me for Xcode SDK 4.5.
把你的code sign由Distribution改成Developer.就這么簡(jiǎn)單.
上傳時(shí)出錯(cuò):CFbundleVersion
這個(gè)錯(cuò)誤是說(shuō),我們項(xiàng)目info.plist文件中的bundleVersion弄錯(cuò)了,這個(gè)屬性需要int類型的數(shù)值,改成如下圖所示就可以了。