iT邦幫忙

2025 iThome 鐵人賽

DAY 28
1

昨天成功地將Android版本的App送上了Google Play內部測試軌道,今天將戰場轉移到另一個主要的行動生態系——Apple iOS。iOS的上架流程與Android很不一樣,它更依賴於本地端的開發工具Xcode以及蘋果嚴謹的憑證管理系統。

今天的任務是為我們的Flutter專案完成在Xcode中的所有必要設定,並將其打包成一個準備上傳到App Store Connect的「Archive」檔案~這是登上App Store的技術前置作業。

一、前置作業:Apple 開發者帳號

開始之前,有一個無法繞過的先決條件:必須要擁有一個有效的Apple開發者計畫 (Apple Developer Program) 會員資格。這個帳號是付費的(目前為年費,99美金),但它是建立憑證、簽署App以及使用App Store Connect和 TestFlight服務的唯一途徑。

二、使用Xcode設定憑證與Bundle ID

雖然我們是使用Flutter進行開發,但所有關於App在iOS平台上的身份識別與簽署設定,都必須在原生的iOS專案中完成。

Step1. 在Xcode中開啟專案:
先不要直接開啟.xcodeproj檔案。在你的Flutter專案目錄中,找到ios資料夾,並使用Xcode開啟 Runner.xcworkspace這個檔案。

Step2. 設定身份與簽署:

  • 在Xcode的左側導覽列中,點擊最頂端的Runner專案,然後在主編輯區選擇Runner target。
  • 切換到「Signing & Capabilities」分頁。
  • 自動管理簽署:確保「Automatically manage signing」這個選項是勾選的。這會讓Xcode為你處理大部分繁瑣的憑證和描述檔管理工作。
  • 選擇團隊 (Team):在 Team 下拉選單中,選擇你登入的Apple開發者帳號。一旦選定,Xcode就會自動為你產生開發和發布所需的憑證。
  • 設定Bundle Identifier:這是你的App在整個Apple生態系中的唯一識別碼,格式通常是反向域名,例如com.yourcompany.inspireapp。這個 ID 一旦設定並上架後就無法更改,所以請謹慎命名。

Step3. 設定版本號:切換到「General」分頁,你會看到「Identity」區塊。

  • Version:這是向使用者顯示的版本號,例如 1.0.0。
  • Build:這是內部開發的版本編號,例如 1。每次上傳到 App Store Connect 時,這個編號都必須是唯一的且遞增的。

三、Archive 專案,準備上傳

當所有的設定都完成後,我們就可以開始打包專案了~ 在iOS開發中,這個打包成最終發布版本的過程稱為「Archive」。

Step1. 選擇建置目標:在Xcode頂部工具列的裝置選擇區域,不要選擇任何模擬器或你連接的實體手機,而是選擇「Any iOS Device (arm64)」。這告訴Xcode我們要建立一個通用的、適用於所有現代 iOS 裝置的發布版本。
Step2. 開始 Archive:點擊Xcode頂端選單列的「Product」,然後選擇「Archive」。
Step3. 等待建置完成:Xcode會開始以Release模式編譯你的Dart和原生Swift/Objective-C程式碼。這個過程可能會需要幾分鐘的時間。你可以在 Xcode 的狀態列看到進度。
Step4. 在 Organizer 中查看成果:
當Archive成功完成後,Xcode會自動彈出一個名為「Organizer」的視窗。在這個視窗中,你會看到你剛剛建立的App Archive,上面清楚地標示著版本號和建置編號。

這個Archive檔案就是我們App的發布候選版本,它已經被我們的開發者憑證正確簽署,並包含了所有必要的程式碼和資源,隨時可以被上傳到App Store Connect。

明日預告:TestFlight內部測試人員

App的Archive檔案已經在Organizer中等待我們啟動。下一步,就是將這個包裹寄送到蘋果的倉庫——App Store Connect。明天將透過Xcode或Transporter工具上傳這個建置檔,並邀請測試人員進行TestFlight內部測試~明天見啦!


【哈囉你好:)感謝你的閱讀!其他我會常出沒的地方:Threads


上一篇
【30 天做一個極簡App】登上 Google Play:發佈到內部測試軌道
下一篇
【30 天做一個極簡App】登上 TestFlight:發佈給內部測試人員
系列文
Mobile Dev|日更靈感來源 App:Flutter × LLM × n8n,每天只推 3 則!30
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言