?iOS 最新打包發(fā)布流程
關(guān)于如何發(fā)布 iOS 應(yīng)用到 App Stroe,蘋(píng)果開(kāi)發(fā)者中心已經(jīng)給出了很詳細(xì)的說(shuō)明。和普通的 iOS 應(yīng)用一樣,使用 React Native 開(kāi)發(fā)的 iOS 應(yīng)用也需要使用普通的 iOS 應(yīng)用的發(fā)布流程,總的來(lái)說(shuō),主要涉及以下幾步:
-
加入蘋(píng)果開(kāi)發(fā)者計(jì)劃,申請(qǐng)成為開(kāi)發(fā)者; -
生成和配置開(kāi)發(fā)者證書(shū); -
打包 iOS 應(yīng)用; -
上傳應(yīng)用并發(fā)布到 App Store。
如果想要將 iOS 應(yīng)用發(fā)布 App Store,那么加入開(kāi)發(fā)者組織,并且需要擁有會(huì)員資格。如果還沒(méi)有會(huì)員資格,那么可以使用 Apple Developer app 程序進(jìn)行注冊(cè)和購(gòu)買(mǎi),購(gòu)買(mǎi)過(guò)程中如果出現(xiàn)任何問(wèn)題,可以聯(lián)系蘋(píng)果客服進(jìn)行解決。
1、加入蘋(píng)果開(kāi)發(fā)者計(jì)劃
加入蘋(píng)果開(kāi)發(fā)者計(jì)劃需要先申請(qǐng)開(kāi)發(fā)者賬號(hào),如果要分發(fā) iOS 應(yīng)用,還需要給蘋(píng)果支付一定的費(fèi)用。目前,開(kāi)發(fā)者賬號(hào)分為個(gè)人開(kāi)發(fā)者、企業(yè)開(kāi)發(fā)者和公司開(kāi)發(fā)者。其中,個(gè)人開(kāi)發(fā)者賬號(hào)和公司開(kāi)發(fā)者賬號(hào)每年 99 美金,企業(yè)開(kāi)發(fā)者賬號(hào)每年 299 美金。
-
個(gè)人開(kāi)發(fā)者賬號(hào):99 美金一年,可以在 AppStore 上架,并且在 app 后面顯示個(gè)人 ID;真機(jī)調(diào)試時(shí)最多只能添加一百個(gè)蘋(píng)果設(shè)備;一般是個(gè)人使用或者小公司使用。 -
公司開(kāi)發(fā)者賬號(hào):99 美金一年,可以在 App Store 上架,可以自定義的團(tuán)隊(duì)名稱(chēng),最重要的是公司賬號(hào)可以允許多個(gè)開(kāi)發(fā)者協(xié)作開(kāi)發(fā),比個(gè)人多一些帳號(hào)管理的設(shè)置和權(quán)限的管理。 -
企業(yè)開(kāi)發(fā)者賬號(hào):299 美金一年,不可以在 AppStore 上架,一般只在自己企業(yè)內(nèi)部使用,對(duì)設(shè)備數(shù)量沒(méi)有任何限制;申請(qǐng)的時(shí)候還需要公司的鄧白氏編碼 DUNS。
2,證書(shū)配置
為了能夠?qū)?iOS 應(yīng)用發(fā)布到 App Store,需要開(kāi)發(fā)者具有發(fā)布應(yīng)用所需的發(fā)布證書(shū)、App ID 和描述文件。iOS 的 Certificates 分為開(kāi)發(fā)證書(shū)和發(fā)布證書(shū),正式打包的時(shí)候用的是發(fā)布證書(shū)。下面說(shuō)說(shuō)在 iOS 應(yīng)用發(fā)布時(shí)才會(huì)用到的幾個(gè)證書(shū):
-
AdHoc:這個(gè)證書(shū)一般用在上線(xiàn)蘋(píng)果商店前最后一次的調(diào)試,它所用是的證書(shū)和配置文件和正式上線(xiàn)商店時(shí)用的證書(shū)和配置文件是一樣的,他們的不同點(diǎn)在于,這個(gè)證書(shū)中指定了哪些蘋(píng)果設(shè)備(最多 100)才能安裝此 app,所以一般公司就用打個(gè) AdHoc 包,對(duì)設(shè)備上線(xiàn)前做最后一步測(cè)試 -
AppStore:正式發(fā)布到蘋(píng)果商店的證書(shū),這個(gè)是我們上線(xiàn)時(shí)候用到最多的一種證書(shū),這個(gè)證書(shū)打包出來(lái)的 ipa 包對(duì)安裝設(shè)備數(shù)量沒(méi)有限制。 -
In House:這個(gè)證書(shū)的創(chuàng)建選項(xiàng)現(xiàn)在的好像只能在企業(yè)賬號(hào)中才能看到,這個(gè)打包出來(lái)的 app 不能再蘋(píng)果商店上線(xiàn),對(duì)安裝的設(shè)備數(shù)量也沒(méi)有限制。這個(gè)可以借助一些三方平臺(tái)比如蒲公英、fire 實(shí)現(xiàn)方便安裝(掃掃二維碼就能下載很方便的),當(dāng)然用工具 iTools 安裝也是可以的。
除此之外,還有以下幾個(gè)概念需要掌握:
-
App ID:App 的身份證,區(qū)別 App 的唯一標(biāo)示,在 Project 中稱(chēng)為 Bundle ID。 -
Provisioning Profiles:描述文件的作用是描述了可由哪臺(tái)電腦,把哪個(gè) App,安裝到哪臺(tái)手機(jī)上面。一個(gè)描述文件的制作是需要 App ID、Device、Certificate 這些信息的。
如果你已經(jīng)申請(qǐng)成為開(kāi)發(fā)者,那么可以登錄開(kāi)發(fā)者賬號(hào)來(lái)獲取上面的內(nèi)容,如下圖所示。
2.1 證書(shū)申請(qǐng)
如果還沒(méi)有在電腦中配置證書(shū),可以點(diǎn)擊開(kāi)發(fā)者網(wǎng)站中選擇左邊導(dǎo)航欄的【Certificates,IDs & Profiles】選項(xiàng),然后選擇上方的【?】進(jìn)行新建。
在新建證書(shū)頁(yè)面選擇【iOS Distribution (App Store and Ad Hoc)】選項(xiàng),然后點(diǎn)擊【Continue】按鈕。
進(jìn)入新建頁(yè)面,它會(huì)問(wèn)你要?jiǎng)?chuàng)建那種,通常選擇第四個(gè),第四個(gè)是針對(duì) iOS 應(yīng)用的一個(gè)發(fā)布證書(shū),因?yàn)槭且l(fā)布嘛,所以是發(fā)布證書(shū)。此時(shí),需要上傳一個(gè)證書(shū)簽名文件,之后才能生成 iOS 應(yīng)用的發(fā)布證書(shū)。
打開(kāi) macOS 系統(tǒng)中的鑰匙串訪(fǎng)問(wèn)應(yīng)用,然后依次選擇【鑰匙串訪(fǎng)問(wèn)】,【證書(shū)助理】,【從證書(shū)頒發(fā)機(jī)構(gòu)請(qǐng)求證書(shū)。..】來(lái)創(chuàng)建簽名文件。
然后,在證書(shū)助理頁(yè)面填寫(xiě)證書(shū)信息,
接下來(lái),選擇上傳簽名文件,并下載生成的發(fā)布證書(shū)。
下載證書(shū)后,雙擊點(diǎn)擊進(jìn)行安裝。
2.2 注冊(cè) App ID
App ID 是蘋(píng)果開(kāi)發(fā)者計(jì)劃的一部分,主要用來(lái)標(biāo)識(shí) App,是 App 的身份證,在 Project 中稱(chēng)為 Bundle ID。如果還沒(méi)有 App ID,可以在【Certificates, Identifiers & Profiles】面板中注冊(cè)一個(gè) App ID。
Description 用于描述 APPID,BundleID 是項(xiàng)目的唯一標(biāo)識(shí),可以在 Xcode 里面復(fù)制過(guò)來(lái),以免輸錯(cuò),然后保存。如果項(xiàng)目中有用到推送功能,需要選中 Push Notifications,并配置推送證書(shū)。
2.3 推送證書(shū)
如果應(yīng)用中有推送的需求還需要?jiǎng)?chuàng)建推送證書(shū),創(chuàng)建推送證書(shū)可以在點(diǎn)擊【Push Notification】后面的【Edit】按鈕進(jìn)行創(chuàng)建,接著,在彈框中可以選擇創(chuàng)建用于開(kāi)發(fā)環(huán)境還是生產(chǎn)環(huán)境的證書(shū)。
接著,選擇生產(chǎn)的 CSR 文件,一路選擇【Continue】按鈕即可。
接著,系統(tǒng)會(huì)生成 2 個(gè) cer 文件,將分別雙擊安裝到鑰匙串中。在鑰匙串中可以導(dǎo)出成 p12 文件,用于各推送平臺(tái)中進(jìn)行推送配置。
接著,雙擊下載下來(lái)的證書(shū),安裝到鑰匙串中,然后在鑰匙串中右鍵選擇導(dǎo)出,輸入名稱(chēng)和密碼,最終導(dǎo)出為 p12 文件。
以極光推送的配置為例,官方需要我們上傳推送所需的 p12 文件。
生產(chǎn)證書(shū)和開(kāi)發(fā)證書(shū)分別使用上面導(dǎo)出的對(duì)應(yīng)的 p12 文件,在選擇文件時(shí)輸入的密碼就是導(dǎo)出時(shí)設(shè)置的密碼即可,其他平臺(tái)配置也類(lèi)似。
2.4 配置開(kāi)發(fā)者證書(shū)
開(kāi)發(fā)者證書(shū)一般是不需要配置的,因?yàn)?Xcode 中可以選擇自動(dòng)配置。但是如果需要打一個(gè)測(cè)試包,然后放到蒲公英或 fir 上面的話(huà),那就需要配置一個(gè) Ad Hoc 的證書(shū)。選中【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。
接著,選擇允許安裝的設(shè)備。因?yàn)椋瑳](méi)有注冊(cè)的設(shè)備,測(cè)試包是無(wú)法進(jìn)行安裝的。
2.5 創(chuàng)建配置文件
打開(kāi)【Certificates, Identifiers & Profiles】主頁(yè),然后再左側(cè)菜單中選擇【Profiles】,然后選擇 【+ 】創(chuàng)建新的配置文件。此時(shí)將顯示【Register a New Provisioning Profile】的相關(guān)信息。
然后,選擇“Development”(開(kāi)發(fā))下的“iOS App Development”(iOS 應(yīng)用程序開(kāi)發(fā))作為預(yù)配配置文件類(lèi)型,然后選擇“Continue”(繼續(xù))。
從“App ID”(應(yīng)用 ID)下拉列表中選擇創(chuàng)建的應(yīng)用 ID,然后選擇“Continue”(繼續(xù))。
在“Select certificates”(選擇證書(shū))窗口中,選擇用于代碼簽名的開(kāi)發(fā)證書(shū),然后選擇“Continue”(繼續(xù))。
2.6 創(chuàng)建秘鑰
創(chuàng)建密鑰允許您為該密鑰配置、驗(yàn)證和使用一項(xiàng)或多項(xiàng) Apple 服務(wù)。與證書(shū)不同,密鑰不會(huì)過(guò)期,并且可以在創(chuàng)建后進(jìn)行修改以訪(fǎng)問(wèn)更多服務(wù)。選擇左邊 的 Keys 選項(xiàng), 然后點(diǎn)擊 【Create a Key】創(chuàng)建秘鑰。
3,iOS 應(yīng)用打包
使用 Xcode 打開(kāi)項(xiàng)目,選中根目錄,然后選中【Signing & Capabilities】,在 Signing 中選擇開(kāi)發(fā)者賬號(hào),如果有推送功能,增加推送權(quán)限配置。
然后,選擇頂部的【Product】中的【Archive】進(jìn)行打包。
選擇要打包的版本,點(diǎn)擊右上角的【Distribute】按鈕進(jìn)行打包。
需要選擇 IPA 包的類(lèi)型,然后選擇【Export】導(dǎo)出。
如果打包過(guò)程中遇到There are no devices registered in your account on the developer website錯(cuò)誤,可以使用真機(jī)先運(yùn)行一下,因?yàn)樘O(píng)果要求我們打包上架之前至少要在開(kāi)發(fā)者網(wǎng)站注冊(cè)一臺(tái)真機(jī)。
4,發(fā)布 iOS 應(yīng)用
4.1 提交應(yīng)用
提交 iOS 應(yīng)用,我們建議使用 Transporter 來(lái)執(zhí)行提交,可以在 App Store 中搜索并安裝,它是免費(fèi)的。使用之前,需要使用蘋(píng)果開(kāi)發(fā)者賬號(hào)進(jìn)行登錄。完成登錄后就可以將 IPA 包添加到 Transporter 中,然后執(zhí)行提交。
如果沒(méi)有問(wèn)題的話(huà),使用 Transporter 就可以上傳打好的 iOS 應(yīng)用了。如果有問(wèn)題,可以根據(jù)提示進(jìn)行解決。
4.2 提交審核
在蘋(píng)果商店后臺(tái)進(jìn)行提交審核,有兩種情況:已有 APP 的版本升級(jí)、發(fā)布新的 APP。下面分別進(jìn)行說(shuō)明。
4.2.1 App 升級(jí)
在 APP 詳情頁(yè)面點(diǎn)擊左上方的加號(hào)添加新版本,新版本需要修改兩個(gè)地方的內(nèi)容:此版本的更新內(nèi)容、選擇構(gòu)建版本(即上傳的 IPA 包)。在選擇構(gòu)建版本時(shí),需要選擇出口合規(guī)證明信息,一般選否即可。
4.2.2 發(fā)布新 App
如果是新建一個(gè)新的 APP,那么第一次需要需要填寫(xiě)一些基礎(chǔ)信息:
-
平臺(tái):根據(jù)軟件類(lèi)型選擇,選擇 iOS。 -
名稱(chēng):即在 App Store 中顯示的名稱(chēng)。 -
主要語(yǔ)言:選擇簡(jiǎn)體中文。 -
套裝 ID:在蘋(píng)果開(kāi)發(fā)者中心中創(chuàng)建的 identifier,需要跟 IPA 包保持一致。 -
SKU:一個(gè)標(biāo)識(shí)符,保證唯一。 -
用戶(hù)訪(fǎng)問(wèn)權(quán)限:選擇完全訪(fǎng)問(wèn)權(quán)限。
接著,按照要求填寫(xiě)版本信息、隱私信息和價(jià)格與銷(xiāo)售范圍等。
填寫(xiě)完上述的所有必填內(nèi)容之后,就可以提交 APP 等待審核了。如果 APP 沒(méi)有問(wèn)題,則直接通過(guò)審核,否則會(huì)有郵件提醒蘋(píng)果想你發(fā)送了一條信息,需要在應(yīng)用商店后臺(tái)查看,然后可以根據(jù)信息的提示修改 App,在重新提交審核。
4.2.3 其他分發(fā)平臺(tái)
如果是使用 蒲公英 這類(lèi)分發(fā)平臺(tái),那么我們也可以將 ipa 包上傳到蒲公英平臺(tái)。不管,設(shè)備的 uuid 需要添加至開(kāi)發(fā)者中心的 deviceid 中,并且設(shè)備添加了 profile 中重新打包才行。
-End-
最近有一些小伙伴,讓我?guī)兔φ乙恍?nbsp;面試題 資料,于是我翻遍了收藏的 5T 資料后,匯總整理出來(lái),可以說(shuō)是程序員面試必備!所有資料都整理到網(wǎng)盤(pán)了,歡迎下載!

面試題】即可獲取
