背景:為了向公司的其他非專(zhuān)業(yè)人士普及iOS的發(fā)布過(guò)程,這才有了這篇文章。所以截圖比較多,便于他們根據(jù)步驟進(jìn)行傻瓜式的操作。
軟件開(kāi)發(fā)過(guò)程不在本教程的范圍之內(nèi)。
發(fā)布的前提條件:
- 開(kāi)發(fā)者賬號(hào)(已經(jīng)完成付費(fèi)過(guò)程,99$或299$)
- 已經(jīng)開(kāi)發(fā)完成的軟件代碼
- Mac系列電腦
一、證書(shū)配置
1. 生成本地CSR(Certificate signing request)文件
每個(gè)Mac電腦上都自帶一個(gè)APP:鑰匙串,通過(guò)鑰匙串可以生成CSR文件。

輸入常用電子郵件,選擇保存到磁盤(pán)即可生成CSR文件,在后面的過(guò)程中會(huì)用到該文件。

2. 創(chuàng)建APPID
登錄蘋(píng)果開(kāi)發(fā)者中心,選擇Certificates,IDs & Profiles:

選擇Identifiers,點(diǎn)擊加號(hào)進(jìn)行添加,一路Continue即可:



Description用于描述APPID,BundleID是項(xiàng)目的唯一標(biāo)識(shí),可以在Xcode里面復(fù)制過(guò)來(lái),以免輸錯(cuò),然后保存。

如果項(xiàng)目中有用到推送功能,需要選中Push Notifications,并配置推送證書(shū)(步驟在????)。

3. 推送證書(shū)
創(chuàng)建推送證書(shū)可以在點(diǎn)擊Push Notification后面的Edit按鈕,彈出下面提示內(nèi)容,在彈框中可以選擇創(chuàng)建用于開(kāi)發(fā)環(huán)境還是生產(chǎn)環(huán)境的證書(shū):

選擇生產(chǎn)的CSR文件,一路Continue完事:



最終的產(chǎn)物是2個(gè)cer文件,分別雙擊安裝到鑰匙串中。在鑰匙串中可以導(dǎo)出成p12文件,用于各推送平臺(tái)中進(jìn)行推送配置。

雙擊下載下來(lái)的證書(shū),安裝到鑰匙串中。然后在鑰匙串中右鍵選擇導(dǎo)出,輸入名稱(chēng)和密碼,最終導(dǎo)出為p12文件。



以極光推送的配置為例:

生產(chǎn)證書(shū)和開(kāi)發(fā)證書(shū)分別使用上面導(dǎo)出的對(duì)應(yīng)的p12文件,在選擇文件時(shí)輸入的密碼就是導(dǎo)出時(shí)設(shè)置的密碼。其他平臺(tái)配置的過(guò)程也是類(lèi)似。
4. 配置開(kāi)發(fā)者證書(shū)
開(kāi)發(fā)者證書(shū)一般來(lái)講是不用配置的,Xcode中可以選擇自動(dòng)配置,省去很多事。
但是如果想打一個(gè)測(cè)試包,放到蒲公英或fir上面的話,那就需要配置一個(gè)Ad Hoc的證書(shū),就以這個(gè)為例。選中Profiles,并點(diǎn)擊加號(hào)進(jìn)行添加:

Development是開(kāi)發(fā)證書(shū),開(kāi)發(fā)過(guò)程中用于真機(jī)調(diào)試;Distribution是發(fā)布證書(shū),用于APP打包提交審核。選中Ad Hoc,這個(gè)是為了后面打測(cè)試包使用。

選擇需要配置證書(shū)的APPID:

選擇Certificate:

選擇允許安裝的設(shè)備,沒(méi)有選中的設(shè)備,是無(wú)法進(jìn)行安裝的。

給證書(shū)命名,點(diǎn)擊Generate生成證書(shū):

到這兒完事,不用下載下來(lái)。
二、打包
使用Xcode打開(kāi)項(xiàng)目,選中根目錄,然后選中Signing & Capabilities,在Signing中選擇開(kāi)發(fā)者賬號(hào),如果有推送功能,增加推送權(quán)限配置。

選擇頂部的Product中的Archive進(jìn)行打包。這個(gè)需要花費(fèi)幾分鐘時(shí)間,耐心等待。

選擇要打包的版本,點(diǎn)擊右上角的Distribute按鈕,進(jìn)行打包。需要選擇IPA包的類(lèi)型和目的,一般選擇Export導(dǎo)出。然后一直Next。






選擇完路徑就完成了導(dǎo)出過(guò)程。

三、發(fā)布
1. 提交APP
首先是要上傳IPA包。這個(gè)過(guò)程是通過(guò)Transporter APP來(lái)實(shí)現(xiàn)的,App Store中有出售,可以免費(fèi)下載。

完成登錄后可以將IPA包添加到Transporter中,進(jìn)行交付。如果沒(méi)有問(wèn)題則一切順利,有問(wèn)題的話會(huì)有日志信息,也可以查看開(kāi)發(fā)者賬號(hào)的郵箱,根據(jù)郵件提醒來(lái)修改代碼。
交付的前提是:已經(jīng)在蘋(píng)果商店的后臺(tái)創(chuàng)建了對(duì)應(yīng)的APP,bundleID需要跟IPA保持一致。


2. 提交審核
在蘋(píng)果商店后臺(tái)進(jìn)行提交審核,有兩種情況:已有APP的版本升級(jí)、發(fā)布新的APP。下面分別進(jìn)行說(shuō)明。
2.1 已有APP的版本升級(jí)
在APP詳情頁(yè)面點(diǎn)擊左上方的加號(hào)添加新版本,新版本需要修改兩個(gè)地方的內(nèi)容:此版本的更新內(nèi)容、選擇構(gòu)建版本(即上傳的IPA包)。在選擇構(gòu)建版本時(shí),需要選擇出口合規(guī)證明信息,一般選否即可。截圖如下:





2.2 發(fā)布新的APP
在APP列表頁(yè)面,點(diǎn)擊左側(cè)的加號(hào),進(jìn)行新建APP。新建APP需要填寫(xiě)一些基礎(chǔ)信息:
- 平臺(tái):根據(jù)軟件類(lèi)型選擇,本位以iOS為例,所以平臺(tái)選擇iOS。
- 名稱(chēng):即在App Store中顯示的名稱(chēng)。
- 主要語(yǔ)言:不用說(shuō),選擇簡(jiǎn)體中文。
- 套裝ID:這個(gè)就是在蘋(píng)果開(kāi)發(fā)者中心中創(chuàng)建的identifier,需要跟IPA包保持一致。
- SKU:一個(gè)標(biāo)識(shí)符,保證唯一。
- 用戶(hù)訪問(wèn)權(quán)限:選擇完全訪問(wèn)權(quán)限。


新建的APP在發(fā)布前需要填寫(xiě)的內(nèi)容如下。
在準(zhǔn)備提交的當(dāng)前版本中:
- App預(yù)覽和截屏:6.5寸和5.5寸個(gè)三張,如果APP支持iPad,還需要12.9寸的三張。
- 描述:關(guān)于APP的文字描述。
- 關(guān)鍵詞:用于App Store中搜索的關(guān)鍵詞
- 技術(shù)支持網(wǎng)址:一般是公司網(wǎng)站的web地址,可以按需填寫(xiě)。
- 構(gòu)建版本:跟發(fā)布新版本一致。
- 版權(quán):按格式填寫(xiě)即可,也可以按需填寫(xiě)。
- 登錄信息:如果需要登錄,則提供賬號(hào)密碼。
- 聯(lián)系信息:填寫(xiě)個(gè)人或負(fù)責(zé)人的聯(lián)系信息即可,雖然是必填項(xiàng),但一般沒(méi)什么用。


App信息模塊
- 版權(quán)內(nèi)容:按要求選擇。
- 年齡分級(jí):按要求選擇。
- 類(lèi)別:根據(jù)APP類(lèi)型選擇,用于App Store中的分類(lèi)。

App隱私模塊
- 隱私政策網(wǎng)址:可以使用公開(kāi)的,這個(gè)沒(méi)有限制。
- 數(shù)據(jù)類(lèi)型:根據(jù)實(shí)際情況選擇即可。

價(jià)格與銷(xiāo)售范圍
- 價(jià)格:App在App Store中的銷(xiāo)售價(jià)格。
- 銷(xiāo)售范圍:默認(rèn)是所有國(guó)家和地區(qū),可以按需選擇。
- App發(fā)布方式:公開(kāi)即上傳到App Store,私人則是商務(wù)分發(fā),需要提供至少一個(gè)組織ID和組織名稱(chēng),組織ID等通過(guò)Apple商務(wù)進(jìn)行獲取。點(diǎn)擊跳轉(zhuǎn)Apple商務(wù)


填寫(xiě)完上述的所有必填內(nèi)容之后,就可以提交APP等待審核了。如果APP沒(méi)有問(wèn)題,則直接通過(guò)審核,否則會(huì)有郵件提醒蘋(píng)果想你發(fā)送了一條信息,需要在應(yīng)用商店后臺(tái)查看,然后可以根據(jù)信息的提示修改App,在重新提交審核。重新提交審核需要在上面選擇構(gòu)建版本的地方先刪除當(dāng)前選中的構(gòu)建版本,然后選擇新上傳的構(gòu)建版本,點(diǎn)擊提交即可。
以上就是iOS App的打包發(fā)布的所有過(guò)程。
另外附加一張思維導(dǎo)圖,詳細(xì)列舉了打包發(fā)布的細(xì)節(jié)和過(guò)程:
