首页 › LLM大语言模型 › Codex专栏 › Codex 实战案例 › 手把手教你用 Codex 做一款能上架的移动App

手把手教你用 Codex 做一款能上架的移动App

零代码基础完整指南:从灵感到 TestFlight 上架的全流程实操手册​

​

💡

这篇文章不是"AI 玩具 demo",是一份能让你把脑子里的小工具,真的装进自己 iPhone 主屏的全流程实操手册。从准备工作到 TestFlight 发布,每一步都有踩坑记录。​

​

​

零代码基础:用 Codex 打造 iOS App 的工业级流水线

零代码基础:用 Codex 打造 iOS App 的工业级流水线​

​

一、想清楚你要做什么​

别一上来就让 Codex 写代码。先用一张纸或笔记工具回答这 5 个问题:​

这个 App 是干什么的? 用一句话讲清楚。比如:"每 45 分钟提醒我喝水,记录今天喝了几杯"​

核心交互是什么? 用户打开 App,3 秒内能完成的那件事​

需要几个页面? 初版控制在 3 个以内——首页 + 详情 + 设置,足够了​

数据存在哪里? 只存本地:UserDefaults(简单 KV)或 SwiftData(结构化数据);需要多端同步:Supabase 或 CloudKit​

需要哪些系统权限? 联网、通知、相机等,提前列进 prompt,省得后续补​

​

💡

写不清楚等于做不出来。Codex 不是神,你的指令模糊,它的输出就混乱。​

​

一份可直接复用的 prompt​

​

设计系统生成 Prompt​

Markdown

请为我的 iOS App 生成一套设计系统规范,以 Markdown 输出。​

​

主题:极简、苹果原生风​

主色调:蓝绿色 (#2C9E8F)​

风格要求:​

- 干净留白,避免多余装饰​

- 圆角 12px​

- 卡片阴影轻、不突兀​

- 大标题 + 适量留白​

​

需要包含:颜色 Token、字号 Token、间距 Token、按钮状态、卡片样式、列表样式、空状态示意。​

​

把以上内容整理成一个 PRD.md 文件,第一步就让 Codex 读它——这份文档是后续所有对话的"上下文锚点",能让 AI 始终保持方向一致性。​

​

你的角色不再是敲击代码,而是掌控方向

你的角色不再是敲击代码,而是掌控方向​

​

​

​

三、设计系统(可选,但推荐)​

如果你对 UI 有要求,推荐先做一套设计系统。这样可以保证 App 所有页面的视觉风格统一。​

设计系统包含什么​

设计系统(Design System)是一套可复用的视觉规范。一个完整的设计系统至少包含:​

•

颜色 Token:主色、辅助色、背景色、文字色​

•

字号 Token:标题、正文、辅助文字​

•

间距 Token:页面边距、卡片内边距、元素间距​

•

组件规范:按钮(默认/点击/禁用)、卡片、输入框、列表行​

•

交互规范:转场动画、手势交互、加载状态​

如何让 Codex 理解你的设计​

​

📌

重要提示:不要直接丢截图给 Codex,它读不准。正确的做法是把你设计系统中的"底层逻辑 + 所有设计 Token + 组件清单"以 Markdown 格式输出。​

​

具体操作可以借助 Claude.ai Design 功能生成设计规范,然后将输出整理为 Markdown 文档,喂给 Codex 让它遵循。或者你也可以直接描述你想要的风格,让 Codex 自己生成一套设计 Token。​

这份 Markdown 输出就是你的设计规范文档。后续每次让 Codex 生成新页面时,先告诉它"参考之前的设计规范文档",就能保证视觉一致性。​

​

视觉一致性:构建设计系统(Design System)​

​

​

​

四、用 Codex 写代码​

一切准备就绪后,开始正式写代码。​

初始 Prompt(可直接复用)​

​

Codex 初始工程 Prompt​

Markdown

项目名: [你的项目名]​

平台: iOS 16+​

技术栈: SwiftUI + Swift 5.9,使用 SwiftData 做本地存储​

架构: MVVM,每个页面一个 ViewModel​

依赖: 仅使用 Apple 官方框架,暂不引入第三方库​

设计: 参考之前的设计规范文档​

​

功能(V1 范围,不要超纲):​

1. 首页:[描述首页功能]​

2. 详情页:[描述详情页功能]​

3. 设置页:深色模式开关、清除历史​

​

请帮我:​

​

关键纪律​

•

一次只做一个目标:先把工程跑起来 → 再做首页 → 再做详情页​

•

别一次塞 10 个功能:Codex 会混乱,你更混乱​

•

用 GitHub 仓库对接:让 Codex 直接推 PR,比每次手动下载 zip 高效十倍​

​

迭代纪律:每次只加一个功能​

​

Codex 会在云端容器里运行任务,通常几分钟到十几分钟就会出一个 PR。​

​

​

五、本地运行你的 App​

Codex 出 PR 后,按以下步骤操作:​

本地 git pull 拉取分支​

双击 .xcodeproj 文件(不是 .xcworkspace,除非用了 CocoaPods)​

Xcode 顶部选择 Scheme 和模拟器(iPhone 15 Pro 是默认兼容选项)​

按 ▶️ 按钮或 Cmd+R​

常见报错及处理​

​

🔧

第一次运行大概率有错误,这是正常的。以下是三类最常见的错误及处理方法:​

​

​

​
错误类型​
​
​
处理方法​
​
​
Signing for "xxx" requires a development team​
​
​
Xcode 左侧选项目 → Signing & Capabilities → Team 选择你的 Apple ID​
​
​
Cannot find type 'XXX' in scope​
​
​
文件没有被加入项目 Target。Cmd+点击文件名 → File Inspector → 勾选对应 Target​
​
​
API deprecation 或编译错误​
​
​
直接截图整段报错文本贴回 Codex,说明"工程目标 iOS 16,请用现行 API 修复"​
​

​

实操经验:大部分错误 2-3 轮与 Codex 来回反馈就能解决。白屏、卡顿、闪退同理——截图 + 复现步骤丢回去,比自己逐行 debug 快得多。​

​

✅

养成好习惯:每次本地能跑了立刻 git commit,一句话写明做了什么。这样后面 Codex 改坏了你能秒回滚。​

​

​

​

六、逐步添加功能与数据库​

App 在模拟器里跑通后,开始迭代功能。一次只加一个。​

功能迭代节奏​

好的迭代节奏是:​

•

「加个深色模式开关,存到 UserDefaults,启动时读取」​

•

「主页加一个进度环显示今日完成率,用 SwiftUI 原生 Gauge」​

•

「通知文案随机从 10 条预设中选一条」​

每次让 Codex 以 PR 形式给出 diff,你 review 后再 Merge。​

​

🚫

禁忌:不要同时修改 5 个东西。一旦出错,你根本不知道是哪一步改坏的。​

​

接入 Supabase 数据库​

当功能基本调试完毕,需要联网数据时,接入 Supabase。​

Supabase 是一个开源 Firebase 替代品,提供 PostgreSQL 数据库、身份认证、实时订阅和对象存储。​

接入步骤:​

打开 supabase.com 注册​

创建新项目,区域选择 Singapore(国内访问最快)​

初始化完成后,点击顶部 Connect → 选择 MCP → 选择 Codex​

复制生成的连接指令(包含 Project URL + anon key)​

将这段指令贴给 Codex,并补充你的具体数据需求​

​

🔒

安全提醒:Service Role Key 拥有数据库完全管理权限,永远不要写进 iOS 客户端代码。客户端只能用 anon key,配合 Row Level Security(RLS)规则做访问控制。让 Codex 写完代码后,手动去 Supabase 后台检查 RLS 是否已正确开启。​

​

​

安全接入 Supabase(开源 Firebase 替代品)​

​

​

​

七、制作 App 图标​

图标是 App 的门面,建议在真机测试前先做好。​

用 AI 生成图标​

使用 ChatGPT、Midjourney 或即梦等工具生成。Prompt 范例:​

​

App 图标生成 Prompt​

Markdown

​

导入 Xcode​

Xcode 左侧打开 Assets.xcassets → AppIcon​

将 1024×1024 PNG 拖入 App Store iOS 1024pt 格子​

Xcode 14+ 支持 Single Size,一张图自动适配所有尺寸,无需切多分辨率​

三个高频坑​

•

❌ PNG 带 alpha 通道 → App Store 审核会被拒绝。用 Squoosh 或 ImageOptim 去掉透明层​

•

❌ 图标自己画了圆角 → 系统会再加一层圆角,变成"圆角里的圆角"​

•

❌ 源图小于 1024×1024 → 打 Archive 包上传 TestFlight 时会直接失败​

​

第六站:交付打包 — App 图标的高频踩坑点​

​

​

​

八、真机测试​

模拟器收不到推送通知,用不了相机、陀螺仪、HealthKit——这些功能必须在真机上测试。​

连接与配置​

用数据线(不是仅充电的线)将 iPhone 连接 Mac,手机上点击"信任此电脑"​

Xcode 顶部设备选择器切换到你的真机​

Xcode 左侧项目 → Signing & Capabilities → Team 选择你的 Apple ID​

如没有账号:点 Add Account... → 登录 Apple ID → Team 下拉选择 Personal Team​

保持 Automatically manage signing 勾选​

Bundle Identifier 改为全球唯一的反域名格式,例如 com.yourname.yourappname​

按 ▶️ 运行,首次约等待 2–5 分钟(编译 + 签名 + 安装)​

处理"不受信任的开发者"提示​

iPhone 上安装后如果打不开并提示"不受信任的开发者":​

设置 → 通用 → VPN 与设备管理 → 开发者 App → 信任你的 Apple ID​

免费账号的限制​

•

App 在真机上 7 天后失效,需重新 Build & Run 续签​

•

一个免费 Apple ID 最多同时安装 3 个自签 App​

​

​

九、通过 TestFlight 分发给朋友测试​

需要支付 $99/年(国内 ¥688/年)的 Apple Developer Program 费用。如果只是自用,上一步的真机调试就够了。​

操作流程:​

开通 Apple Developer Program,个人账号审核约 24–48 小时​

登录 App Store Connect → My Apps → + 新建 App​

Xcode 顶部 device 选择 Any iOS Device (arm64)​

菜单 Product → Archive(使用 Release 编译配置)​

Archive 完成后 Organizer 自动弹出 → Distribute App → App Store Connect → Upload​

上传后等 5–15 分钟,App Store Connect 中构建版本即可见​

TestFlight → Internal Testing:添加测试员邮箱,他们通过 TestFlight 客户端即可下载​

外部测试(External Testing)首次需要苹果审核,通常 1–3 天,标准比正式上架宽松。​

​

​

十、常见问题(FAQ)​

Q1:我不会写任何代码,能用 Codex 做出一款完整 App 吗?​

可以,但前提是你必须清楚地知道自己想做什么。不会写代码意味着你要投入更多时间在"想清楚要做啥"这个环节。把功能需求写清楚、分步骤推进、每次只让 Codex 做一件事,零基础完全可行。​

Q2:Codex 和 Cursor、Claude Code 有什么不同?​

Codex 是 OpenAI 推出的编程智能体,集成在 ChatGPT 中。与 Cursor 和 Claude Code 相比,Codex 的优势在于它可以在云端容器中独立运行代码、自动 debug,更适合从零开始的工程搭建。后两者更适合已有项目中的代码编辑和重构。​

Q3:我不买 Developer Program 能运行自己的 App 吗?​

可以。免费 Apple ID 支持真机调试,但有效期只有 7 天,且最多同时装 3 个自签 App。不上架 App Store、不用 TestFlight 的话无需付费。​

Q4:Codex 写出来的代码安全吗?​

Codex 会使用官方 API 和标准框架。主要安全风险在于:第一,不要将 API 密钥(尤其是 Supabase Service Role Key)硬编码在客户端代码中;第二,如果你接入 Supabase,务必检查 RLS 规则是否开启。这些都可以在对话中要求 Codex 注意。​

Q5:做了第一版之后,想继续加功能好加吗?​

Codex 的项目管理能力是其核心优势之一。只要你保持用 Git 做版本管理、每次只增加一个功能、写清楚 PR,持续迭代非常顺畅。切忌一次改太多——这是 User 端犯错的最常见原因。​

​

​

写在最后​

整个流程总结下来就是:​

​

🎯

想清楚 PRD → 做设计系统(可选) → 喂 Codex 起工程 → 本地跑通 → 报错回喂 Codex → 一次一改加功能 → 接数据库/通知/权限 → 做图标 → 模拟器 → 真机 → TestFlight​

​

一下午够用——前提是前面那一小时把"想清楚"做扎实。​

难的不是代码。难的是想清楚自己要解决的具体小问题,然后愿意为它跑通最后一公里。​

​

​

SunyataAI 是面向本地 AI 用户、开发者和企业的交流协作社群。每周组织公益免费的线下/线上 AI 交流分享会。​