在多个商业外包 iOS 项目里摸爬滚打了几年,我发现公司级项目最消耗人的不是技术难度,而是流程损耗:需求理解偏差导致返工、多人/人机混编导致规范漂移、测试流于形式、踩过的坑换个项目接着踩。

这几年我把迭代流程逐步标准化,再让 AI 介入每个环节,沉淀成了一套完整的 SOP。最近把它脱敏整理后开源了:

GitHub:github.com/luodeCoding/ios-ai-dev-sop

先说结论:这套 SOP 的核心不是”流程文档”,而是把流程切成标准阶段、每个阶段配好模板和质量门禁,再让 AI 承担每个环节里可自动化的部分——把”人盯流程”变成”流程盯人”。


📌 五阶段迭代主流程

1
需求输入 → 架构师分析 → 开发实现 → UI 测试 → 逻辑测试 → 交付

每个阶段都有明确的产出物模板,挑几个最关键的:

架构师分析:最重要的防返工闸门

收到需求后三件事,顺序不可颠倒:

  1. 需求理解确认 — 必须先读产品文档再动手!产品文档包含业务规则(权限要求、用户类型限制),跳过这步返工率极高
  2. 技术方案 — 中/大功能必须写清:改动范围、新增/修改文件、接口解析方式、技术风险
  3. 任务分解 — 把大需求切成 T001~T007 这样的小任务清单

任务清单对 AI 协作尤其重要:它把”一个大需求”切成 AI 可以逐个完成、逐个验证的小步骤,避免 AI 一口气生成一大坨无法验证的代码。

开发实现:把规范写成 AI 能机械执行的约束

举几个实战中最容易出事的:

  • 分页接口泛型必须传列表项类型,传包装模型直接解析失败,而且报错信息有误导性
  • Model 属性用 var + 默认值——后端少返回一个字段就全挂,这是保命配置
  • 入口权限严格按产品文档实现,”仅某类用户可见”这种限制猜必错
  • AI 新建的 .swift 文件最容易忘了加入 Xcode 工程,文件在磁盘上但编译找不到

这些约束写在项目的 AI 配置文件(CLAUDE.md/AGENTS.md)里,AI 每次会话自动加载,规范就不会漂移。

双测试:UI 测试 + 逻辑测试分开做

  • UI 测试管:还原度、交互、边界状态(空态/加载中/错误/超长文本)
  • 逻辑测试管:数据流、业务分支、权限控制、异常处理

即使团队只有一个人 + AI,也要按角色切换视角。AI 特别适合扮演测试和审查角色——它没有”我自己写的肯定没问题”的心理盲区


🚦 自适应路由:小改动不走重流程

全流程很重,改个文案也走一遍就是浪费:

需求规模 架构师 UI 测试 逻辑测试
S 小改动(文案/颜色/间距) 跳过 快速看一眼 跳过
M 中等功能(新页面/新接口) 任务清单 ✅ 必须 ✅ 必须
L 大功能(新模块/跨模块) 方案+清单 ✅ 必须 ✅ 必须

流程是为了质量,不是为了仪式感。


🤖 AI 全流程介入的基础设施

这部分是被验证最有效的配置,可直接复用:

项目内 AI 资源目录:

1
2
3
4
5
6
7
8
项目根/
├── CLAUDE.md / AGENTS.md # 项目规范约束(AI 每次会话自动加载)
├── .mcp.json # MCP 工具配置(⚠️ 含 Token 不入库)
└── .claude/
├── skills/ # 项目专属技能:接口代码生成、UI 还原、代码审查……
├── commands/ # 自定义命令:/build /test /接口同步……
├── memory/ # 知识库:API 规范、枚举定义、架构原则
└── dev-log.md # 会话记忆

MCP 工具链三件套:

工具 价值
Xcode 构建 MCP AI 自己验证编译,不用人贴报错
接口文档 MCP Model/Service 生成零失真
设计稿 MCP UI 还原有依据,不靠截图猜

会话记忆是最容易被低估的dev-log.md 每天记录”做了什么/坑+解法/关键决策/明日待做”,AI 新会话第一件事就是读它。没有记忆文件,AI 每次都是从零开始的实习生;有了它,AI 是连续工作的老员工。


🐛 调试方法论:5 个心智模型

遇到 Bug 不要上来就改,先按 5 个维度提假设:

模型 排查什么
边界 空值、空数组、越界、时区、编码
状态 缓存脏数据、部分写入、前后状态不一致
并发 主线程回调、异步时序
最近变更 哪个 commit 引入的?
环境 模拟器 vs 真机、Debug vs Release

每个假设打分:得分 = (可能性 × 影响度) / 验证成本,从得分高的开始验证。


📝 实战坑清单(节选)

  1. 没读产品文档就开发——入口权限做错,整体返工
  2. 分页泛型传包装模型——解析失败且报错有误导性
  3. AI 新建文件没加入 Xcode 工程——编译找不到
  4. 手动管理分页状态(pageNum + 手动结束刷新)——边界必出 bug
  5. 多项目共享库改坏兼容性——改之前先确认影响面
  6. Token/密钥入库——MCP 配置必须 gitignore
  7. 没有任务清单约束的 AI 会生成无法验证的大坨代码

完整 10 条 + 全部模板见仓库 公司级·迭代开发SOP


🆕 更新记录

v2.0.0(2026-08-08):个人篇拆分独立

按「公司级与个人级完全分开」的原则,个人级内容已拆分为独立仓库和独立博文:

本仓库继续专注公司/外包团队场景。


💡 写在最后

这套 SOP 的价值不在于”文档写得好”,而在于它是在真实商业项目里跑过、返工过、修正过的。所有内容已脱敏(客户名、内部库名、私有仓库都泛化了),模板可以直接复制到你项目里用。

两篇(公司级 + 个人级)已全部整理完毕,都在同一个仓库里。

⭐ 有用的话欢迎点 Star,也欢迎提 Issue 交流!

相关链接



技术分享  

AI 效率工具 iOS SOP

本博客所有文章除特别声明外,均采用 CC BY-SA 3.0协议 。转载请注明出处!