1. <rp id="fx2di"><acronym id="fx2di"><blockquote id="fx2di"></blockquote></acronym></rp>

        <em id="fx2di"><acronym id="fx2di"></acronym></em>
        <th id="fx2di"></th>
      2. <span id="fx2di"></span>

        最新上架 App Store 全流程

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

        前言

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

        環境

        macOS 10.15.7

        Flutter 2.0.6

        Xcode Version 12.4

        vscode

        Apple Developer 配置

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

        微信圖片_20230117111345.jpg

        如果該App需要多人協作開發,請進入People進入人員編輯。注意負責上架AppStore的人員需要有管理級別的權限

        然后點擊 Certificates, Identifiers  &  Profiles 圖標

        微信圖片_20230117111356.jpg

        1. Certificates:證書

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

        微信圖片_20230117111359.jpg

        Certificates有兩種環境:開發( Development )環境生產( Distribution )環境。Certificates還有兩種類型:Software 和 Services。

        簡單理解:

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

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

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

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

        針對Software部分需要注意:

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

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

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

        Software和Services都是和Mac綁定的:

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

        Certificates:證書

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

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

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

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

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

        選擇iOS Development ,創建iOS Development 開發證書。Xcode11以上可以創建Apple Development 證書.

        微信圖片_20230117111438.jpg

        continue 下一步

        微信圖片_20230117111442.jpg

        選擇剛剛的證書文件,

        微信圖片_20230117111445.jpg

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

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

        640.jpg微信圖片_20230117111451.jpg

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

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

        微信圖片_20230117111454.jpg

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

        (4) 推送證書申請

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

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

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

        微信圖片_20230117111507.jpg

        2.Identifiers:App id

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

        微信圖片_20230117111511.jpg

        填寫app描述,和Bundle ID

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

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

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

        然后Register,回到 identifiers列表頁可以看到剛剛創建的。

        3.Devices: 設備列表

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

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

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

        如何查看設備的udid。有很多方法,

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

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

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

        添加設備列表

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

        4.Profiles: 描述文件

        描述文件Profiles將team、Identifiers、Certificates、Devices等信息聯系起來。

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

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

        創建描述文件

        將上面創建的所有信息聯系起來,供xcode使用。同樣分別創建Development和Distribution兩種環境的描述文件

        微信圖片_20230117111607.jpg

        選擇App ID

        微信圖片_20230117111610.jpg選擇對應的 certificates證書,開發對應開發,生產對應生產,注意是當前項目的證書,不要選擇其他項目的證書。

        開發環境和Ad Hoc需要選擇需要測試的Devices設備,選中的Devices才具有測試和安裝能力。全選即可。

        微信圖片_20230117111614.jpg

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

        微信圖片_20230117111618.jpg

        至此所有準備的證書和描述文件都創建完畢。

        5.Xcode配置

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

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

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

        微信圖片_20230117111629.jpg

        provisonint Profile 文件選擇,開發對應著開發,生產對應著生產。

        微信圖片_20230117111632.jpg

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

        微信圖片_20230117111637.jpg

        調試 一個是模擬器調試 一個真機調試(數據線連上蘋果手機)

        微信圖片_20230117111640.jpg

        6.App Connnect 注冊APP

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

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

        微信圖片_20230117111650.jpg

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

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

        7.多人協作開發證書管理

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

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

        微信圖片_20230117111654.jpg

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

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

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

        微信圖片_20230117111657.jpg

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

        新用戶用剛剛導出 p12文件在Xcode上配置就可以協同開發ios項目。

        8.APP打包上架

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

        微信圖片_20230117111708.jpg

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

        微信圖片_20230117111711.jpg

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

        設備選擇:

        微信圖片_20230117111714.jpg

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

        Product   >  Archive:

        微信圖片_20230117111718.jpg

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

        微信圖片_20230117111723.jpg

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

        App Store:App Store上架包用

        Ad hoc:發布測試包用,如蒲公英發布

        Enterprise:企業包用

        Development:開發包用

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

        微信圖片_20230117111727.jpg

        Select a destination : 選擇是直接上傳還是導出,直接上傳就可以

        Select certificate and iOS App Store profile: 之前創建的描述文件

        然后等待上傳

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

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

        微信圖片_20230117111736.jpg

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

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

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

        微信圖片_20230117111739.jpg微信圖片_20230117111743.jpg
        立即登錄,閱讀全文
        版權說明:
        本文內容來自于程序員大咖,本站不擁有所有權,不承擔相關法律責任。文章內容系作者個人觀點,不代表快出海對觀點贊同或支持。如有侵權,請聯系管理員(zzx@kchuhai.com)刪除!
        掃碼登錄
        打開掃一掃, 關注公眾號后即可登錄/注冊
        加載中
        二維碼已失效 請重試
        刷新
        賬號登錄/注冊
        個人VIP
        小程序
        快出海小程序
        公眾號
        快出海公眾號
        商務合作
        商務合作
        投稿采訪
        投稿采訪
        出海管家
        出海管家
        亚洲一级片com|91午夜免费福利网站|最新无码国产在线视频2O2丨|亚洲全黄无码一级黄片
          1. <rp id="fx2di"><acronym id="fx2di"><blockquote id="fx2di"></blockquote></acronym></rp>

            <em id="fx2di"><acronym id="fx2di"></acronym></em>
            <th id="fx2di"></th>
          2. <span id="fx2di"></span>