這個教程將為你提供關於如何將 Flutter App 釋出到 App Store 和 TestFlight 的說明。
1. 預先準備
在開始釋出你的 app 的程序之前,確保你已經看過了 Apple 的 App Store 稽核指南。
想要釋出你的 app 到 App Store,你需要註冊 Apple Developer Program。你可以在蘋果的 選擇會員資格(開發者型別) 中檢視到關於多種不同會員型別的選擇。
2. 在 App Store Connect 上註冊你的 App
App Store Connect(曾經的 iTunes Connet)是你將會管理應用生命週期的地方。你將會定義應用的名稱和描述以及截圖,設定價格,並管理髮布到 App Store 和 Testflight。
註冊你的 app 需要兩步:登記唯一的套裝 ID(Bundle ID),並在你的 App Store Connect 中建立一個 app。
關於更多 App Store Connect 的細節,檢視 App Store Connect 指南。
2.1 登記套裝 ID
每一個 iOS 應用都與一個在 Apple 登記的唯一的套裝 ID 關聯。要為你的應用登記一個套裝 ID,請參考下面的步驟:
(1)在你的開發者賬號頁面開啟 App IDs 頁面。
(3)輸入一個 App 名稱,選擇 Explicit App ID,然後輸入一個 ID。
2.2 在 App Store Connect 建立一個應用記錄
接下來,你需要在 App Store Connect 註冊你的應用:
(1)在你的瀏覽器裡開啟 App Store Connect。
(4)在出現的表單中填寫你的 app 細節。在平臺部分,確保 iOS 被選中。由於 Flutter 暫時不支援 tvOS,保持該選項為未選。點選 Create。
(5)跳轉到你的應用詳情,然後從側邊欄選擇 App Information 。
(6)在基礎資訊部分,選擇你在前一步註冊的套裝 ID。
3. 檢查 Xcode 專案設定
在這一步,你需要在 Xcode 工作空間檢查絕大多數重要設定。關於更多的步驟和描述,檢視 為 App 分發做準備。
在 Xcode 中跳轉到你的目標設定:
(1)在 Xcode 中,開啟你的 App 的 ios 目錄中的 Runner.xcworkspace
(2)想要看你的 app 設定,在 Xcode 的專案導航欄中選擇 Runner
(3)選擇 General tab
接下來,你需要驗證最重要的配置:
在 Identity 部分:
這個 App 將會在主螢幕以及其他地方展示的名字。
你在 App Store Connect 註冊的 App ID。
在 Signing 部分:
Automatically manage signing 是否需要 Xcode 自動管理 app 簽名和設定。這個預設被設定為 true ,對於絕大多數 App 來說都是適用的。
Team:選擇關聯到你註冊的 Apple 開發者賬戶的團隊。如果需要,選擇 Add Account…, 然後更新選項。
在 Development 部分:
Deployment Target: 你的 App 將會支援的最低版本的 iOS。Flutter 支援 iOS 8.0 及以後的版本。如果你的 App 包含使用了iOS 8 不支援的 API 的 Objective-C 或 Swift 程式碼,請設定到合適的版本。
你專案的 General tab 應該看起來像是這樣的:
4. 更新應用版本號
每個應用預設的初始版本號是 1.0.0。若要更新它,請轉到 pubspec.yaml 檔案並更新以下內容:
version: 1.0.0+1
版本號由三個點分隔的數字組成,例如上面樣例中的 1.0.0。然後是可選的構建號,例如上面樣例中的 1,以 + 分隔。
版本號與構建號都可以在 Flutter 打包時分別使用 --build-name 和 --build-number 重新指定。
在 iOS 中,當 build-number 用作 CFBundleVersion 的時候, build-name 用作 CFBundleShortVersionString。閱讀關於 iOS 版本控制的更多資訊請參考 Apple 開發者網站提供的 Core Foundation Keys。
5. 新增應用圖示
當你建立一個新的 Flutter 應用時,則會建立一個預設的圖示。在這一步,你將使用你自己的圖示替換佔位圖示:
(1)回顧 iOS 的 App Icon 指南。
(2)在 Xcode 專案導航欄,選擇 Runner 目錄中的 Assets.xcassets,更新佔位圖示為你自己的 app 的圖示。
(3)通過執行 flutter run 來驗證你的圖示是否已經被替換。
6. 建立一個構建歸檔
在這一步,你將建立一個構建歸檔,並上傳到 App Store Connect。
在開發過程中,你將會使用 debug 模式來完成構建、除錯並測試。當你準備好通過 App Store 或 TestFlight 交付你的 app 給使用者時,你需要準備一個 release 構建。
在命令列中你的應用目錄下執行如下步驟:
(1)執行 flutter build ios 來建立一個 release 構建 (flutter build 預設指向 --release)。
(2)為了確保 Xcode 重新整理了釋出模式的配置,關閉並重新開啟你的 Xcode。對於 Xcode 8.3 及以後版本,這一步不是必須的。
在 Xcode中,配置 app 的版本,並開始構建:
(1)在 Xcode 中,開啟你應用 ios 目錄中的 Runner.xcworkspace
(2)選擇 Product > Scheme > Runner
(3)選擇 Product > Destination > Generic iOS Device
(4)在 Xcode 專案導航欄中選擇 Runner,然後在設定介面側邊欄選擇 Runner 目標。
(5)在 Identity 部分,更新 Version 為你想要釋出的使用者可見的版本號。
(6)在 Identity 部分,更新 Build 標示為一個唯一的 Build 數字,用來在 App Store Connect 上追蹤。每一個上傳都需要一個獨立的 Build 數字。
最後,建立一個構建歸檔並將其上傳到 App Store Connect:
(1)選擇 Product > Archive 來生成一個構建歸檔
(2)在 Xcode 組織介面的側邊欄中,選擇你的 iOS app,然後選擇你剛剛的生成的構建歸檔。
(3)點選 Validate… 按鈕。如果報告了任何問題,記錄下他們並重新開始一個新的構建。你可以使用同一個 Build ID 直到你上傳了一個歸檔。
(4)當這個歸檔校驗成功以後,點選 Upload to App Store…。你可以在 App Store Connect 中應用詳情頁面的 Activities 標籤頁檢視你的構建狀態。
當你的構建已經通過了校驗,可以將你的構建通過 Testfligh 釋出給你的測試人員或直接將其釋出到 App Store 的時候,你會在 30 分鐘內收到一封信來提醒你。
7. 釋出你的 app 到 TestFlight
TestFlight 允許開發者釋出他們的 app 給內部或外部的測試人員。這個步驟為可選,接下來的內容將引導你將釋出你的構建到 TestFlight。
(1)在 App Store Connect 中,你的應用的詳情頁面跳轉到 TestFlight Tab。
(2)在側邊欄選擇 Internal Testing。
(4)為每一個內部測試人員新增郵件。你可以在 App Store Connect 的使用者與角色頁面新增額外的內部使用者,他們將會出現在頁面頂部的下拉選單中。
8. 釋出你的 app 到 App Store
當你準備釋出你的 app 到這個世界時,跟隨下面的步驟,來提交你的 App 去稽核,並將其釋出到 App Store。
(1)從你的 app 在 App Store Connect 的頁面中的側邊欄中選擇 Pricing and Availability,然後完善所有的必填資訊。
(2)從側邊欄選擇狀態。如果這是第一次釋出這個 App,這個狀態將會是 1.0 Prepare for Submission,填寫所有需要填寫的區域。
Apple 將會在他們的稽核過程結束後提醒你。你的 app 將會根據 Version Release 部分的介紹進行釋出。
當你建立了應用之後,你可以通過 Google Ads 吸引更多使用者, Google Ads 平臺可以通過機器學習幫助你以非常高的價效比吸引到更多使用者。
(1)建立廣告—我們會根據您的應用資訊幫您製作廣告。另外,您還可以新增圖片和視訊。
(2)決定推廣預算—對於以提高應用安裝量為主要目標的廣告系列,您需要為其設定應用安裝出價,也就是“目標每次安裝費用”,同時設定每日推廣支出預算。
(3)選擇目標地區—讓我們知道你希望觸達哪些區域的使用者。
(4)設定使用者行動—決定你希望使用者要做什麼,比如安裝,應用內操作或者目標廣告支出回報率 (ROAS)。