标签

Codex 帮我从零开发了一个 iOS App:AI 编程的实战记录

发布时间:2026-05-26 22:11来源:微信阅读:7

这篇文章不是产品宣传。

我做的 app 本身很普通:一款音乐猜歌游戏,网页版已经上线,现在想做成 iOS 版本并提交到 App Store。

真正值得记录的是这次开发方式的转变。也是我第一次完整走完一款 app 从零到提交审核的全过程。

以前开发 iOS App,从需求分解、SwiftUI 编码、接口调试、Xcode 编译、签名打包、截图制作、App Store Connect 填写资料、上传预览图到提交审核,基本都需要自己在各种工具之间来回切换。

这次我把 Codex 当作一个长期在线的开发伙伴。

它不只是帮我写代码。它帮我阅读现有项目、分解任务、制定计划、优化 SwiftUI、修复 API、运行构建、定位 Xcode 错误、整理 App Store 截图,最后还通过 Computer Use 控制浏览器,完成了 App Store Connect 的信息填写和预览图上传。

这篇文章就记录一下,我是如何用 AI 完成一个 iOS App 从开发到提交审核的全流程。

这是第一个关键点。

我一开始就明确:“帮我做一个 iOS App。”

我给 Codex 的方式更像工程交接:

比如第一阶段,我明确告诉它:先做游客版 MVP,不做登录、支付、个人中心,不重写所有网页功能。目标只是让 iOS App 能稳定请求 Daily 数据、播放试听、搜索歌曲、提交猜测,并保存游客进度。

这一步非常关键。

AI 最容易犯的错不是写不出代码,而是把范围扩大。你越不给边界,它越容易“顺手”补功能、建抽象、改一堆暂时不该改的东西。

所以我的第一条经验是:在有相关文档支持的情况下,做一个 app 非常快。

这次最核心的不是某一个模型能力,而是几个插件和 skill 组合起来形成了工作流。

我用 Superpowers 里的几个 skill 来约束开发过程。

Superpowers 刚出来就已经很有名了,当时觉得自己用不上。最近一段时间频繁使用,发现真香,返工的次数减少了,我的任务交给他特别安心。缺点是,比较费 token,但架不住 codex 时不时重制额度,依旧真香。

writing-plans 用来先写计划。每次进入比较大的任务,比如 iOS 结果分享、排行榜、游客身份同步,我都会让 Codex 先形成计划,而不是直接改代码。

test-driven-development 用在纯逻辑部分。比如分享 payload、challenge API 参数、结果文本这些,不需要启动完整 App,也可以先写 smoke test 验证。

systematic-debugging 用在报错时。Xcode 构建失败、接口返回不符合预期、签名出问题时,不让 AI 猜原因,而是先看错误、找证据、再改。

verification-before-completion 用在收尾。每次 Codex 说“完成”之前,都要跑验证命令,比如 xcodebuild,或者独立的 Swift smoke test。

这些 skill 的价值不是让 AI 更“聪明”,而是让 AI 更守纪律。

我日常使用比较简单,给一个想法,比如:做一个排行榜。他就会通过提问,让你把需求补充清楚,最终得到一份执行说明书。使用多个 subagent 去执行监工、测试、验收等等,一条龙服务。

最近还在摸索更多功能,下一篇文章可以详细讲讲。

Computer Use 是这次最有意思的部分。

App 开发到最后,一定会遇到大量浏览器后台操作:开发者账号、App Store Connect、App 信息、隐私选项、版本资料、截图上传、提交审核。

这些事情很难通过纯代码完成,但又很机械。

我让 Codex 通过 Computer Use 控制浏览器。它可以看页面、点按钮、填表单、上传截图、检查缺失字段。以前这类事情必须我自己不断切换页面,现在可以交给 AI 执行,我只负责关键判断。

这也是我这次感受最明显的变化:AI 不再只是代码生成器,而是在跨工具完成任务。

我只需要当好甩手掌柜。

app 端的 SEO 叫 AEO。玩法和 SEO 类似,但缺少这方面的经验,在上架的时候使用了开源的 ASO skill。帮我根据产品生成 title、description 等等信息。具体的效果需要上线后续验证。

这次我逐渐形成了一套固定流程。

第一步,让 Codex 读网页端代码,提供相关的文档,跟他说转成 iOS app。

codex 先确认使用的技术栈 SwiftUI,等待一会,基本的功能就已经实现了。

第二步,调整 UI。

截图大法,使用 cleanshotX 这类工具,截图标注。文字描述你要的效果即可。

之前不太信任这种方式,觉得 AI 理解不了,试过几次之后发现,之前过的是什么苦日子。

第三步,功能新增或调整。

superwork 的主场。描述你的功能,不用具体,因为 superwork 经过几轮询问后,一切都清晰明了。一旦确认好最终需求,剩下的你只需要回答 yes 就好。

yes 工程师就此得名。

第4步,app 上架流程。

没上架过,不懂怎么上架。问 AI,不想填表单用 computer use。

AI 时代能偷懒就偷懒。

上面的过程,你会发现人参与的重要部分其实很少,最多的部分是说 yes。

写到这里其实只完成了一半。

iOS App 真正麻烦的部分不在 Swift,在代码之外。注册账号、配置签名、准备素材、填元数据、提交审核——这些事单独都不难,但加在一起足够让一个独立开发者卡半个月。

这次我刻意把这条线也交给 Codex 走了一遍,顺便摸清楚它的能力边界。

先说不能做的,省得有人误以为全自动。

Apple ID 双因素验证、支付信息、税务表格,这三件事 Computer Use 帮不了你。验证码要进你手机,信用卡要你本人确认,W-8BEN(中国大陆开发者填的税表)需要你的真实身份信息。

我的做法是:把整个上架流程拆成“AI 可执行”和“我必须在场”两类,前者完全交出去,后者集中在一个时间段里手动处理完,不来回切换。

$99/年,个人账号当天到几天不等,公司账号要先申请 D-U-N-S 编号,慢的话两周。

如果你只是想验证一个想法,个人账号够用。但 App 上架后显示的“开发者名称”是你的本名(中国大陆开发者会显示拼音),介意的话一开始就走公司账号。

注册期间不要干等。Bundle ID 命名、App 图标、截图脚本这些可以并行准备。Bundle ID 一旦在 App Store Connect 创建就不能改,命名前想清楚。

我的 appid 死活注册不了开发者,和客服 battle 几天依旧无果,白白浪费几天时间。最后让我女朋友去申请开发者,我忙活这么几天,她10 分钟就申请好了。

一句话,别对抗,账号不行,老老实实换号,用家人朋友的号去注册。

App Store Connect 里那些输入框,每个都有硬规格:

Computer Use 在这一步效率最高。我把所有素材和文案先在本地整理好,让 Codex 按顺序填,缺什么它会停下来问。

这次 app 从写第一行 Swift 到点“Submit for Review”,总共 13 天。其中纯开发 2 天,剩下都是元数据、截图、隐私清单、App Store Connect 配置这些非代码流程,以及浪费了 4 天时间去和客服 battle。

如果没有 Codex 帮我跑后半段,这部分大概要翻倍。

这次 iOS app 从开发到提交审核,让我对 AI 编程的理解变了。

我以前把 codex 当成“帮我写代码的工具”。

现在更像是一个能跨代码、终端、浏览器、文档和后台系统执行任务的开发搭档。

第一次开发 app,有些工作流程还不熟悉,开发效率并没有预期的高。很多流程再进一步优化的话,能够快不少,到时候再与大家分享。