最新上架 App Store 全流程

作者:程序員大咖
時間:2023-01-17
2447
過完年回來app上架到App Store,雖然之前上架過,還是遇到不少坑,特別是配置證書的時候,還好是上架是一次性通過,整理一份詳細圖文詳解。項目是flutter項目上架到App Store,與原始的iOS上架還是有些差別。

前言

過完年回來app上架到App Store,雖然之前上架過,還是遇到不少坑,特別是配置證書的時候,還好是上架是一次性通過,整理一份詳細圖文詳解。項目是flutter項目上架到App Store,與原始的iOS上架還是有些差別。

環(huán)境

macOS 10.15.7

Flutter 2.0.6

Xcode Version 12.4

vscode

Apple Developer 配置

d eveloper.apple.com  點擊“Account”欄目

微信圖片_20230117111345.jpg

如果該App需要多人協(xié)作開發(fā),請進入People進入人員編輯。注意負責(zé)上架AppStore的人員需要有管理級別的權(quán)限

然后點擊 Certificates, Identifiers  &  Profiles 圖標(biāo)

微信圖片_20230117111356.jpg

1. Certificates:證書

Certificates作用是為Mac電腦提供開發(fā)能力,具有Certificates的Mac電腦能夠真機調(diào)試、打包、上架APP到app store。

微信圖片_20230117111359.jpg

Certificates有兩種環(huán)境:開發(fā)( Development )環(huán)境生產(chǎn)( Distribution )環(huán)境。Certificates還有兩種類型:Software 和 Services

簡單理解:

(1).開發(fā)環(huán)境(Development):直接用Xcode調(diào)試debug就屬于開發(fā)環(huán)境,在模擬器上debug是不需要Certificates的。但是在真機上調(diào)試運行就需要Certificates開發(fā)證書,發(fā)布到APP Store 需要 Certificates 生產(chǎn)證書。

(2).生產(chǎn)環(huán)境(Distribution):上架app store,打包生成ipa包等都屬于生產(chǎn)環(huán)境。只要是通過Archive生成都都是屬于生產(chǎn)環(huán)境。

(3). Software: 使mac具有相應(yīng)的開發(fā)和發(fā)布能力,一臺Mac只需要建立一套即可。

(4). Services: Apple提供的額外服務(wù),最常見的就是消息推送服務(wù),會針對不同的App建立不同的Services Certificates,畢竟每個app需要的Services不同。

針對Software部分需要注意:

Certificates是對Mac電腦有效的,是根據(jù)Mac的CSR請求證書創(chuàng)建的,而不是對app,所以Certificates的開發(fā)(Development)證書和發(fā)布(Distribution)證書是有數(shù)量限制的。超過數(shù)量就不能再創(chuàng)建了,除非刪除已有的證書。

只要你這個Mac電腦擁有了Certificates證書,就能用申請Certificates的賬號在這個Mac上開發(fā)多個app而不需要再重新申請Certificates。所以正確操作是,對一個Mac電腦,只需要申請一套Certificates就好了,在創(chuàng)建第二個第三app時不需要再去創(chuàng)建一套Certificates。

Services的證書是需要另外創(chuàng)建的,而且沒有數(shù)量限制,但是還是建議只用一臺Mac創(chuàng)建就好,他人合作導(dǎo)出 p12文件給對方Mac安裝即可。

Software和Services都是和Mac綁定的:

Certificates是和Mac綁定的,不能直接copy給其他Mac使用,但是Certificates可以導(dǎo)出 p12給其他Mac電腦用的,導(dǎo)出的 p12同樣具有測試打包和發(fā)布的能力。如果多人協(xié)同開發(fā),第二個Mac也是不需要再去申請一套Certificates的。用他人Mac電腦上Certificates導(dǎo)出的 p12文件安裝上即可。

Certificates:證書

(1) 通過Mac鑰匙串管理工具生成CSR請求文件,用于申請Certificates,與Certificates綁定

微信圖片_20230117111408.jpg微信圖片_20230117111411.jpg

這里需要注意,不要選中證書列表中的某個證書,否則菜單就不是這個。

微信圖片_20230117111434.jpg郵箱地址填一個,選擇存儲到磁盤,會正常一個 certSigningRequest文件,重命名一下,便于識別。

(2) 申請開發(fā)Development證書 先創(chuàng)建software部分,再創(chuàng)建推送證書部分。

選擇iOS Development ,創(chuàng)建iOS Development 開發(fā)證書。Xcode11以上可以創(chuàng)建Apple Development 證書.

微信圖片_20230117111438.jpg

continue 下一步

微信圖片_20230117111442.jpg

選擇剛剛的證書文件,

微信圖片_20230117111445.jpg

下載下來,名稱是 development.cer, 如果是選擇了iOS App Development 證書則名稱是 ios  development.cer,最好改一下名稱,方便識別。

然后雙擊按鈕,打開鑰匙串管理工具,在我的證書 就能看到安裝了,需要注意的是現(xiàn)實的名稱 不是文件名,是你開發(fā)者賬號的個人team名稱,里面的秘鑰名稱就是你剛剛填寫的名稱

640.jpg微信圖片_20230117111451.jpg

(3) 申請iOS Distribution (App Store and Ad Hoc)生產(chǎn)證書

方法與上面一樣,只是選擇的時候選iOS Distribution (App Store and Ad Hoc)類型

微信圖片_20230117111454.jpg

然后上傳CSR文件,Register,Download, 該名稱。

(4) 推送證書申請

推送證書的申請與第二部分是一樣的,只是中間會讓選擇證書綁定的App id。(這里需要先創(chuàng)建Identifiers,查看步驟2.Identifiers:App 身份證) 同樣,需要申請Development和Distribution兩種環(huán)境。

微信圖片_20230117111458.jpg微信圖片_20230117111503.jpg

選擇Mac鑰匙串工具導(dǎo)出的 certSigningRequest文件,與這臺Mac綁定。

微信圖片_20230117111507.jpg

2.Identifiers:App id

iOS每個APP都有自己唯一的身份證(Identifiers)。app的身份證就在這里申請,也就是app的唯一標(biāo)識。

微信圖片_20230117111511.jpg

填寫app描述,和Bundle ID

關(guān)于Bundle ID:十分重要的東西,可以理解為app的身份證號碼。所有app都是唯一的。為了避免重復(fù)和辨識,一般都采用反域名的格式+app名稱。

如圖所示。這里一經(jīng)申請變無法更改,在每個項目建立時就應(yīng)該事先定義好app的Bundle ID。Bundle ID除了這里申請app需要用到以外,在申請第三方服務(wù):如微信登陸、友盟推送、google服務(wù)等等都需要使用到Bundle ID與你的app綁定。所以,Bundle ID非常重要。

一般,我們會采用Explicit(明確的)Bundle ID標(biāo)識,而不會采用Wildcard(通配符)來定義Bundle ID。如果采用了,會導(dǎo)致推送這部分是沒用的。

然后Register,回到 identifiers列表頁可以看到剛剛創(chuàng)建的。

3.Devices: 設(shè)備列表

app的每個設(shè)備都有唯一的udid。將udid加入到Devices列表后,這些設(shè)備具有debug測試和ad hoc安裝能力。

反正,需要測試的iPhone,iPad都需要加入到這個列表里面。

Devices設(shè)備列表是針對開發(fā)者賬號,所以也只需要添加一次。

如何查看設(shè)備的udid。有很多方法,

1.Xcode查看(開發(fā)者查看自己的)

微信圖片_20230117111622.jpg微信圖片_20230117111626.jpg

2.用蒲公英 www.pgyer.com / tools / udid 

添加設(shè)備列表

微信圖片_20230117111559.jpg微信圖片_20230117111602.jpg

4.Profiles: 描述文件

描述文件Profiles將team、Identifiers、Certificates、Devices等信息聯(lián)系起來。

Profiles同樣分為兩種環(huán)境:開發(fā)(Development)環(huán)境發(fā)布(Distribution)環(huán)境,不同的環(huán)境需建立不同的描述文件Profiles。

描述文件是這對app綁定的,所以每個APP都會建立相應(yīng)的一套描述文件。但是描述文件可copy給其他Mac使用,但是對于的Mac需要安裝相應(yīng)的Certificates導(dǎo)出的 p12文件。

創(chuàng)建描述文件

將上面創(chuàng)建的所有信息聯(lián)系起來,供xcode使用。同樣分別創(chuàng)建Development和Distribution兩種環(huán)境的描述文件

微信圖片_20230117111607.jpg

選擇App ID

微信圖片_20230117111610.jpg選擇對應(yīng)的 certificates證書,開發(fā)對應(yīng)開發(fā),生產(chǎn)對應(yīng)生產(chǎn),注意是當(dāng)前項目的證書,不要選擇其他項目的證書。

開發(fā)環(huán)境和Ad Hoc需要選擇需要測試的Devices設(shè)備,選中的Devices才具有測試和安裝能力。全選即可。

微信圖片_20230117111614.jpg

然后下載,重命名。描述文件不需要安裝

微信圖片_20230117111618.jpg

至此所有準(zhǔn)備的證書和描述文件都創(chuàng)建完畢。

5.Xcode配置

(1)登錄Xcode開發(fā)者賬號,這一步容易忘記,特別是新的蘋果賬號,當(dāng)然也可以到里面選擇證書再配置

微信圖片_20230117111622.jpg微信圖片_20230117111626.jpg

(2) 配置證書及簽名 首先需要取消Automatically manage signing。否則是XCode自動管理證書,會自動創(chuàng)建證書和bundle id等。這樣會不利于證書管理。我這里就采坑了,導(dǎo)致自動安裝了其他的證書,導(dǎo)致生產(chǎn)證書  Xcode Signing certificate is invalid when build on ext device 只好到鑰匙串中刪除,剛剛自動按鈕的證書,退出Xcode,重新打開就可以了。配置profile描述文件,需要為debug和release兩種環(huán)境分別配置描述文件。選擇3.6章節(jié)里創(chuàng)建的對應(yīng)的描述文件,debug對應(yīng)development, release對應(yīng)Distribution。

微信圖片_20230117111629.jpg

provisonint Profile 文件選擇,開發(fā)對應(yīng)著開發(fā),生產(chǎn)對應(yīng)著生產(chǎn)。

微信圖片_20230117111632.jpg

此處可能會有個小坑,與鑰匙串安裝的cer 不對應(yīng),Buuld Settings 重新選擇一下就可以了

微信圖片_20230117111637.jpg

調(diào)試 一個是模擬器調(diào)試 一個真機調(diào)試(數(shù)據(jù)線連上蘋果手機)

微信圖片_20230117111640.jpg

6.App Connnect 注冊APP

微信圖片_20230117111643.jpg微信圖片_20230117111647.jpg

套裝ID 就是申請的indentifiers,選擇

微信圖片_20230117111650.jpg

填寫App資料,需要注意幾點:

APP圖標(biāo)時,圖標(biāo)中不能包含alpha通道或者透明度;LanchImage的圖片格式只能是png格式,jpg格式Xcode無法加載成功;填寫聯(lián)系人的時候,需要加區(qū)號,比如中國 需要+86;App預(yù)覽與截屏圖片,需要6.5英寸和5.5英寸就行,UI設(shè)計圖的時候:5.5英寸 1242?×?2208 ;6.5英寸 1242?×?2688

7.多人協(xié)作開發(fā)證書管理

(1)多臺Mac運行相同iOS項目。

是與生成csr的mac電腦綁定的,其他的Mac 電腦無法安裝,這樣其他的Mac電腦就無法真機測試打包這個iOS項目了。但是,我們可以在鑰匙串中導(dǎo)出 p12文件給其他的Mac安裝,安裝后這臺Mac也具有同樣打包測試發(fā)布能了。開發(fā)需要導(dǎo)入developer證書,發(fā)布需要導(dǎo)出Distribution證書。選擇對應(yīng)的證書,導(dǎo)出

微信圖片_20230117111654.jpg

最好重新命名方便識別。 p12文件其實就加密的 cer證書。可以copy給其他Mac安裝。

第二臺Mac安裝 p12后,進行第四章的XCode配置后即可具有開發(fā)、測試、發(fā)布iOS的能力

(2)多人多臺Mac開發(fā)相同ios項目 如果不方便把開發(fā)者賬號和密碼給其他人用,需要把對應(yīng)開發(fā)人員加入到 開發(fā)者成員中。

微信圖片_20230117111657.jpg

隨后新用戶會收到一封邀請郵件,同意后即會加入開發(fā)者計劃中。新用戶登陸蘋果開發(fā)者中心,會看到自己加入的team

新用戶用剛剛導(dǎo)出 p12文件在Xcode上配置就可以協(xié)同開發(fā)ios項目。

8.APP打包上架

(1)打包并上傳IPA包 首先確保證書正確、profile描述文件正確。

微信圖片_20230117111708.jpg

需要注意的是build構(gòu)建號 每次都是唯一的,version為版本號,多個版本號可以屬于同一個version,

微信圖片_20230117111711.jpg

flutter項目也可以直接 改pubspec.yaml文件 version字段 如:1.0.0+1

設(shè)備選擇:

微信圖片_20230117111714.jpg

flutter項目需要注意:需要執(zhí)行 flutter build ios --  release --  no - codesign,需要注意的是是在flutter外層目錄路徑下執(zhí)行,而不是ios目錄路徑,(我習(xí)慣在vscode中跑命令)

Product   >  Archive:

微信圖片_20230117111718.jpg

直接Distribute App (如果不放心可以先Validate App)

微信圖片_20230117111723.jpg

進入Select a method of distribution(打包方式選擇)界面:

App Store:App Store上架包用

Ad hoc:發(fā)布測試包用,如蒲公英發(fā)布

Enterprise:企業(yè)包用

Development:開發(fā)包用

根據(jù)自己的證書和描述文件選擇,在這里選擇App Store,點擊Next

微信圖片_20230117111727.jpg

Select a destination : 選擇是直接上傳還是導(dǎo)出,直接上傳就可以

Select certificate and iOS App Store profile: 之前創(chuàng)建的描述文件

然后等待上傳

上傳成功之后,需要進入 App Store Connect, 看到

微信圖片_20230117111732.jpg看到剛剛提交的版本,然后點擊App Store ,如果第一次發(fā)版,直接在 “構(gòu)建版本” 選擇對應(yīng)的版本文件,如果是已經(jīng)上架成功,需要更新版本

微信圖片_20230117111736.jpg

填寫完整的信息,提交審核。

上架之后App Store還搜索不到APP如何下載體驗

如果已經(jīng)上架,但是App Store還搜索不到APP,剛剛通過的需要等24小時,可以去「七麥數(shù)據(jù)」查看

微信圖片_20230117111739.jpg微信圖片_20230117111743.jpg
文章來源:程序員大咖
版權(quán)說明:本文內(nèi)容來自于程序員大咖,本站不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。文章內(nèi)容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權(quán),請聯(lián)系管理員(zzx@kchuhai.com)刪除!
相關(guān)文章
法院推翻裁決,蘋果在巴西暫時不用開放App Store
法院推翻裁決,蘋果在巴西暫時不用開放App Store
今年11月,巴西監(jiān)管機構(gòu)裁決蘋果不得阻止開發(fā)者在巴西App Store外部分發(fā)應(yīng)用,要求蘋果在20天內(nèi)允許使用替代支付系統(tǒng)和側(cè)載,否則將面臨每天25萬雷亞爾(當(dāng)前約30.2萬元)的罰款。
App Store
巴西市場
蘋果
2024-12-11
蘋果提醒開發(fā)者:臨近圣誕節(jié),App Store應(yīng)用審核時間可能延長
蘋果提醒開發(fā)者:臨近圣誕節(jié),App Store應(yīng)用審核時間可能延長
蘋果公司今日通知開發(fā)者,隨著圣誕節(jié)的臨近,App Store的審核時間可能會增加。蘋果建議開發(fā)者開始更新他們的應(yīng)用程序和游戲,為假日季做好準(zhǔn)備。
App Store
開發(fā)者
蘋果
2024-12-05
ASO必讀:影響應(yīng)用商店中App排名的關(guān)鍵因素
ASO必讀:影響應(yīng)用商店中App排名的關(guān)鍵因素
在當(dāng)今數(shù)字化時代,應(yīng)用已成為我們生活中不可或缺的一部分。應(yīng)用商店中有數(shù)以百萬計的應(yīng)用程序,對于應(yīng)用開發(fā)者來說,了解影響其應(yīng)用排名的因素至關(guān)重要。
ASO
App
應(yīng)用商店
2024-11-07
歐盟地區(qū)App Store商業(yè)應(yīng)用開發(fā)者,即日起需提供交易者身份資訊
歐盟地區(qū)App Store商業(yè)應(yīng)用開發(fā)者,即日起需提供交易者身份資訊
應(yīng)對歐盟頒布的《數(shù)字服務(wù)法》,Apple要求在歐盟App Store發(fā)布應(yīng)用程序的開發(fā)者必須提供交易者(Trader)身份資訊。
App Store
開發(fā)者
2024-10-23
個人VIP
小程序
快出海小程序
公眾號
快出海公眾號
商務(wù)合作
商務(wù)合作
投稿采訪
投稿采訪
出海管家
出海管家