最近在提審蘋果版本上appstore過程中素跺,發(fā)現(xiàn)對于不是經(jīng)常進行的操作二蓝,很多時候容易忘記流程。于是用該次文檔指厌,將所有的流程進行一次總結(jié)刊愚。該文總結(jié),主要用于記錄導出ipa過程中踩验,遇到的問題提供一個解答鸥诽。所以呢,文章適合對蘋果發(fā)布有一定經(jīng)驗和對蘋果開發(fā)工具xcode有比較了解的箕憾。本文可以提供一定幫助牡借。
首先,導出ipa的過程袭异,需要注意的是钠龙。每次提交的版本,需要往上提升扁远。這里做一個假定俊鱼。例如第一次發(fā)布了并且審核通過了版本是1.0,那么下一次發(fā)布的版本需要在Info.plist中修改有關版本相關的值畅买。那么這些值包括CFBundleVersion并闲,CFBundleShortVersionString,Bundle versions
string谷羞,short帝火。每一次在appstore發(fā)布新版本,我們都需要將CFBundleShortVersionString/ Bundle versions string湃缎,short進行一次提升犀填。這個情況事實上就是說,將版本號從x.y->x.y+1/x+1.y等形式嗓违。CFBundleVersion這個設置九巡,你可以在每次發(fā)布的時候,增加他對應的value蹂季。形式類似于x.y->x.y+1/x+1.y冕广。注意需要說明的是,前者是一定要增加的偿洁,后者沒有強調(diào)一定必須執(zhí)行撒汉。兩者之間是有區(qū)別的。
CFBundleShortVersionString/Bundle versions string涕滋,short這個是對外顯示的睬辐,用于在itunes上面顯示的版本號,這個值是一個字符串,他是指定在app store上面看到的版本號溯饵。這里不要理解錯誤侵俗。app store上看到的,也即itunes上面看到的丰刊。
CFBundleVersion坡慌,這個指的是可執(zhí)行文件的創(chuàng)建號。這個鍵對應的value是一個證書藻三。
另外我們還可以看到,存在另外一個鍵名為Bundle version跪者,這個鍵對應的value是一個內(nèi)部項目管理的版本號棵帽,這個和我們發(fā)布app store是無關的。并且不對外(顯示)渣玲,所以我們可以隨意設置逗概。CFBundleShortVersionString和Bundle
versions string,short我們只設置兩者之一即可忘衍,也即是設置了CFBundleShortVersionString就不用設置Bundle versions
string逾苫,short,或者設置了Bundle versions string枚钓,short就不用再設置CFBundleShortVersionString了铅搓。
其次,我們需要注意的小細節(jié)是搀捷,打包的時候星掰,證書會缺失。這個情況其實比較多見嫩舟。那么為了追求效率氢烘,重新建證書是一個選擇,或者重新導出p12家厌,事實上除非極其了解這個流程的童鞋播玖,我這里是不建議使用導出p12的方式重新注冊本機mac的。因為后者的麻煩程度并不是前者低饭于,甚至從某種程度而言蜀踏,重新創(chuàng)建開發(fā)/發(fā)布證書,反而是一種極為簡單的事情镰绎。于是可以脓斩,每次發(fā)布版本,熟悉后者的盡量選擇后者畴栖,不熟悉后者的随静,直接重新創(chuàng)建證書即可。在該文之后,我們繼續(xù)深究導出p12證書文章和重新創(chuàng)建證書文章燎猛。此處僅僅是記錄發(fā)布流程中的注意事項恋捆。
最后,我們發(fā)布版本的時候重绷,需要注意設置沸停。設置Code Signing Identity、Code Signing Style昭卓、Development Team愤钾、ProVisioning Profile、ProVisioning Profile(Deprecated)候醒。如何設置能颁,這是一個需要注意的問題。這四個參數(shù)主要用于配置開發(fā)證書和描述文件的倒淫。Identity指的就是證書伙菊,Profile就是描述文件。在發(fā)布過程中敌土,我們需要來了解到development?是開發(fā)版本/測試版本镜硕,distribution是正式版本/發(fā)布版本。截止編輯本文的時候返干,編者給出相關的配置兴枯。
Code
Signing Style:Automatic(自動管理證書)
ProVisioning
Profile:Automatic(自動管理證書)
ProVisioning
Profile(Deprecated):Automatic(自動管理證書)
Development
Team:開發(fā)者賬號。公司產(chǎn)品的就使用公司賬號犬金,個人的就使用個人賬號念恍。
Code
Signing Identity:
?? Debug:iOSDistribution
????? Any SDK:iOS Developer
? ?Release:iOSDistribution
????? Any SDK:iOS Developer
另外,本文再添加一些小注意事項晚顷。這些小事項直接影響我們的產(chǎn)品的提交峰伙。例如,發(fā)布版本的時候该默,要設置Requires full screen;icon中要注意保存1024*1024型號的瞳氓,如果你對產(chǎn)品支持到Ipad。最后要檢查AppIcon里面是不是所有的需要的型號的icon文件都存在栓袖。其具體路徑是proj.ios_mac/ProName-mobile/Images.xcassets/AppIcon.appiconset/匣摘。