構建 iOS 應用
說明用 Codex 做 iOS app 時的 CLI-first 路線,以及什麼時候引入 XcodeBuildMCP、skills 或外掛。
📖 本篇術語速查表
| 英文 / 縮寫 | 中文 | 一句話解釋 |
|---|---|---|
| iOS 應用 | iOS app | 面向 iPhone / iPad 的應用。 |
| 技術面 | tech surface | 構建涉及的框架和能力。 |
| 分階段構建 | phased build | 從殼到功能逐步搭。 |
不想讀完?把下面這段提示詞丟給 AI 幫你跑完——幫你把一個 iOS 應用的構建拆成分階段、可交給 Codex 的任務。
你是 iOS 應用構建規劃顧問,幫我把一個 iOS 應用的構建拆成分階段、可交給 Codex 的任務序列。
【角色】
你熟悉構建 iOS 應用適合交給 Codex 的部分、用到的能力、起始方式、推薦的技術面。
【輸入】
- 應用的核心功能和目標使用者:___
- 技術堆疊(SwiftUI / UIKit):___
- 目前進度(從零 / 有原型):___
- 我的 iOS 經驗:___
【工作流程】
1. 把應用拆成殼 → 核心功能 → 打磨的階段
2. 每階段給可交給 Codex 的任務
3. 標出需真機 / 人驗證的部分
4. 給每階段的驗證點
【輸出規範】
▌一、分階段拆解
▌二、各階段可交給 Codex 的任務
▌三、需真機 / 人驗證的部分
▌四、各階段驗證點
【硬約束】
- 先跑起來再加功能,分階段推進
- 介面和互動在真機 / 模擬器驗證
- 系統許可權按最小必要
- 小步可回復
- 不確定的 API 標註需查官方文件用 Codex 做 iOS app,建議保持 CLI-first:greenfield 場景先 scaffold SwiftUI app 和 build-and-launch script;已有 Xcode 專案裡,需要更深自動化時再加入 XcodeBuildMCP、SwiftUI skills 或 Build iOS Apps plugin。
iOS 任務的可信度來自可重複 build / launch / simulator loop。不要只交付程式碼檔案;要說明 scheme、device、命令和最小驗證結果。
官方頁面:https://developers.openai.com/codex/use-cases/native-ios-apps
適合什麼任務
| 場景 | Codex 應該做什麼 |
|---|---|
| 從零做 iPhone / iPad SwiftUI app | scaffold app 和 build loop |
| 已有 iOS project 需要 schemes、simulator output、screenshots 或 UI automation | 使用 XcodeBuildMCP 發現 targets、build、launch、截圖並迭代 |
| 團隊希望長時間 iOS UI 任務保持 agentic | 用 CLI-first loop,而不是依賴 Xcode GUI |
使用的能力
| 能力 | 用法 | 連結 |
|---|---|---|
build-ios-apps | 構建或重構 SwiftUI UI,採用 Liquid Glass 等現代 iOS patterns,審計 runtime performance,並用 XcodeBuildMCP-backed workflows 在 simulator 中除錯 | https://github.com/openai/plugins/tree/main/plugins/build-ios-apps |
相關官方說明:
- Model Context Protocol:https://developers.openai.com/codex/mcp
- Agent skills:https://developers.openai.com/codex/skills
- Local environments:https://developers.openai.com/codex/app/local-environments
起始提示詞
請 scaffold 一個 starter SwiftUI app,並新增一個 build-and-launch script,方便我接到本地環境的 `Build` action。
約束:
- 保持 CLI-first。優先使用 Apple 的 `xcodebuild`;如果更乾淨,可以使用 Tuist。
- 如果這個 repo 已經包含完整 Xcode project,請使用 XcodeBuildMCP 列出 targets,選擇正確 scheme,build、launch,並在迭代時捕獲 screenshots。
- 如果已有 models、navigation patterns 和 shared utilities,請複用。
- 除非我明確要求 shared Apple-platform implementation,否則 app 聚焦 iPhone 和 iPad。
- 每次改動後使用小而可信的 validation loop;只有窄檢查透過後,才擴充套件到更大範圍 build。
- 告訴我你把這個任務當作 greenfield scaffold,還是 existing-project change。
交付:
- app scaffold 或 requested feature slice
- 一個包含準確 commands 的小型 build-and-launch script
- 你執行過的最小相關 validation steps
- 使用的準確 scheme、simulator 和 checks這個 prompt 強調 CLI-first 和 small validation loop。Codex 應說明自己是在 greenfield scaffold,還是 existing-project change。
推薦技術面
| 需要 | 推薦預設值 | 原因 |
|---|---|---|
| UI framework | SwiftUI | 快速 prototype iPhone/iPad views、navigation、shared state,同時保持 UI code 可讀 |
| Build tooling | xcodebuild 或 Tuist | 都能把 native build loop 留在 terminal,不依賴 Xcode GUI |
| Project automation | XcodeBuildMCP | 需要 Codex inspect schemes/targets、launch app、capture screenshots、持續迭代時使用 |
| Distribution tooling | App Store Connect CLI | 讓 agent 留在 loop 裡,並把 app build 直接送到 App Store |
Scaffold App 和 Build Loop
greenfield work 先用 plain prompting。讓 Codex scaffold starter iOS SwiftUI app,並寫一個小的 build-and-launch script,可以接到 local environment 的 Build action。
保持 CLI-first:
xcodebuild可以 list schemes。- 可以執行 build、test、archive、
build-for-testing、test-without-building。 - Codex 可以留在 agentic loop,不用跳進 Xcode GUI。
如果你接受第三方專案生成工具,Tuist 是一個可選下一步。它能 generate 和 build Xcode projects,仍然讓 Codex 在 terminal 裡 build / launch。
當已經進入完整 Xcode project,且需要 schemes、targets、simulator control、screenshots、logs、UI interaction 時,使用 XcodeBuildMCP。
可用 Skills
第一版通常不需要 skill 或 MCP server。工作變專門後再加:
- SwiftUI expert:通用 SwiftUI skill,內建較多實踐規則。
- SwiftUI Pro:面向 modern APIs、maintainability、accessibility、performance 的 SwiftUI review skill。
- Liquid Glass expert:幫助採用 iOS 26 Liquid Glass APIs,並調整 custom components。
- SwiftUI performance:當 feature 感覺慢或 view update path 可疑時,掃描常見 SwiftUI mistakes。
- Swift concurrency expert:處理 Swift concurrency diagnostics、編譯錯誤和 warning。
- SwiftUI view refactor:讓 SwiftUI files 更小、更一致。
- SwiftUI patterns:隨著 app 成長,使用更可預測的
@Observable和@Environmentarchitecture patterns。
迭代方式
第一版能跑後,或你從 existing project 開始時,prompt 要明確:
- 這是 greenfield repo 還是 existing Xcode project。
- 哪些 iOS devices 或 deployment targets 必須繼續工作。
- 期望的 validation loop 是什麼。
- 每次改動後跑哪條最窄但可信的驗證命令。
實用建議
從基礎開始
greenfield work 先 plain prompting,讓 Codex scaffold app 和 build-and-launch script。第一輪通常不需要 skill 或 MCP server。
使用小而可信的驗證迴圈
每次變更後,先跑能證明目前契約的最窄命令。窄檢查透過後,再擴充套件到 broader builds。
保持 CLI-first
xcodebuild 能覆蓋 list schemes、build、test、archive、build-for-testing、test-without-building,讓 Codex 不用依賴 Xcode GUI。
需要深度自動化時用 XcodeBuildMCP
當 schemes、targets、simulator control、screenshots、logs 和 UI interaction 變重要時,plain shell commands 不夠,XcodeBuildMCP 更適合。