黑白梦黑白梦

  • 文章
  • 专栏
  • 文章
  • 专栏
全部文章

AI 代码编辑器工作流实践:使用 Cursor 开发 iOS 应用

发布于 2025-08-03更新于 2026-08-05约 7 分钟

通过上下文、项目索引、文档集、规则定义、项目说明文档等,搭建 AI 代码编辑器工作流。本文以 Cursor 进行实践,也适用于其他 AI 代码编辑器和模型。

插件

Cursor 基于 VS Code,可直接使用 VS Code 扩展市场。

安装 iOS 开发相关插件

在扩展面板(Cmd+Shift+X)安装 Swift、CodeLLDB、SweetPad 等 iOS 插件。

上下文

在对话中,输入 @ 可选择上下文(文件、文件夹、代码库、文档、Web 等)。

代码索引

进入 Cursor Settings → Indexing and Docs,可查看工作空间索引状态。

可单独配置忽略文件;默认会尊重 .gitignore 和 .cursorignore。

@Files、@Folders

在 Agent 或 Ask 模式中输入 @,选择 Files 或 Folders,或直接 @ 后跟文件名。

也可将文件、目录拖拽到聊天窗口作为上下文。

@Codebase

依赖项目代码索引是否构建完成。索引完成后,Agent 会通过语义搜索自动检索相关代码;也可在 Ask 模式中显式使用 @Codebase 询问整个工作空间的问题,例如:

请帮忙整理项目中用到的所有 swift ui 组件和它的用法,以这种格式:

- Picker("选项", selection: $choice) { ... } 下拉选择器
  - 可嵌套 Text ,可通过 ForEach 遍历所有选项
  - .tag() 修饰符,用于每个选项,指定选项的值,如 ForEach 中使用 `$0`
  - .pickerStyle() 修饰符修改选择器样式

文档集(@Docs)

在 Cursor Settings → Indexing and Docs 中添加文档 URL,例如:

  • https://developer.apple.com/documentation/swiftui
  • https://developer.apple.com/design/human-interface-guidelines/

添加后在对话中输入 @Docs 引用。内置文档库也包含常见框架,可直接搜索选用。

@Web

在 Ask 或 Agent 模式中输入 @Web 后再提问,可联网搜索最新信息。

自动运行命令

Agent 执行过程中常需运行终端命令。默认行为取决于 Run Mode 设置。

进入 Cursor Settings → Agents,配置 Run Mode:

模式 行为
Auto-review(新用户默认) 白名单命令直接运行;可沙箱化的命令在沙箱中运行;其余由分类器审查
Allowlist 仅白名单内命令自动运行,其余需确认
Run Everything 所有命令自动运行,风险较高,谨慎使用

还可通过项目或用户目录下的 permissions.json 精细控制:

{
  "terminalAllowlist": ["npm test", "xcodebuild"],
  "mcpAllowlist": ["server-name:tool-name"],
  "autoRun": {
    "instructions": "Never run git commit or git push. Never run rm, kill, or chmod. Never run drizzle-kit push without asking."
  }
}

常见限制示例:

  • 防止 AI 自动提交 git:在 autoRun.instructions 中禁止 git commit / git push,或使用 Allowlist 模式
  • 防止 ORM 迁移破坏数据库:将 drizzle-kit push 等命令排除在白名单外

MCP 工具可在 Settings → MCP 中配置,并通过 mcpAllowlist 控制自动执行。

规则

个人规则(User Rules)

Cursor Settings → Rules → User Rules,对所有项目生效,定义开发习惯、代码风格等:

1. 请保持对话语言为中文
2. 我的系统为 Mac
3. 请在生成代码时添加函数级注释

项目规则(Project Rules)

在项目根目录创建 .cursor/rules/,使用 .mdc 文件定义项目级规则,例如 .cursor/rules/ios.mdc:

---
description: iOS 项目开发规范
globs: ["**/*.swift"]
alwaysApply: true
---

1. 技术栈: Swift, SwiftUI, SwiftData, UserNotifications Framework
2. 验证修改时,仅构建项目,不需要运行项目,使用 iPhone 16 Pro 设备

支持按 globs 限定作用范围,以及 alwaysApply / 智能应用 / 手动 @ 引用等多种模式。

准备项目说明文档

创建全新项目时,可用项目说明文档(如 prd.md)引导 AI 按预定方式生成代码。

也可先用 Plan 模式(Cmd+I 打开 Agent 面板,Shift+Tab 切换)生成 PRD。Plan 模式会先调研需求、生成可编辑的 Markdown 计划文档,确认后再执行;若只需快速探讨需求、不需要创建文件,可用 Ask 模式(只读):

我想使用 SwiftUI + SwiftData 框架开发一个 iOS 应用程序。

[描述项目的基本需求,尽可能按页面维度,做好规划]

创建一个包含文件结构层次的 PRD 文件,我想要在 AI 代码编辑器的项目规则下使用这个 PRD 文件。

确认页面划分、文件结构符合预期后,将文档放入项目,并在规则或对话中引用(如 @prd.md)。

Agent 生成代码

配置就绪后,使用 Agent 模式(Cmd+I)让 AI 生成和修改代码。

发起提问

此前已通过 Xcode 创建新项目,用 Cursor 打开,并完成上述配置。

切换到 Agent 模式,选择模型,在输入框中 @ 关联 PRD、文档等上下文:

创建一个iOS应用,[项目功能简述]。严格遵循 prd.md 中定义的规则,并参考 @Docs SwiftUI 及苹果人机交互指南。

Agent 会创建/修改多个文件,并在终端执行必要命令。每项改动可在 diff 面板中 Accept 或 Reject。

报错修复及功能完善

Agent 修改代码后,会主动触发项目构建来验证改动,并根据编译/检查输出自动修复错误,形成「改代码 → 构建 → 看报错 → 修复」的循环。

不同技术栈常用的验证命令:

项目类型 Agent 可能触发的命令
前端 Web npm run lint、npm run build 等
iOS(命令行) xcodegen generate、xcodebuild 等
iOS(MCP) 通过 XcodeBuildMCP 构建、捕获诊断信息

比如 iOS 项目配置 XcodeBuildMCP,让 Agent 直接调用 Xcode 构建工具,无需手动复制报错。在项目根目录创建 .cursor/mcp.json:

{
  "mcpServers": {
    "XcodeBuildMCP": {
      "command": "npx",
      "args": ["-y", "xcodebuildmcp@latest", "mcp"]
    }
  }
}

配置完成后重启 Cursor,Agent 即可列出 scheme、触发模拟器构建、读取编译错误并迭代修复。若项目使用 XcodeGen 管理工程文件,Agent 也会在必要时先运行 xcodegen generate 再构建。

若构建仍有报错,可将报错文件 @ 进 Agent,或粘贴/截图报错内容:

以下文件编译报错,请修复。@ErrorFile.swift

错误信息:
[粘贴 Xcode 报错]

应用运行后,逐功能测试;功能有问题或需要调整的,继续在同一 Agent 会话中迭代完善。

目录
插件安装 iOS 开发相关插件上下文代码索引@Files、@Folders@Codebase文档集(@Docs)@Web自动运行命令规则个人规则(User Rules)项目规则(Project Rules)准备项目说明文档Agent 生成代码发起提问报错修复及功能完善

本文收录于专栏

Vibe Coding 探索

探索 AI 时代对话式编程的新范式、实战技巧与效率变革

0 篇文章更新于 2026-08-04
上一篇AI 代码编辑器工作流实践:使用 Cursor 开发 iOS 应用下一篇SwiftUI 常用基础组件与修饰符速查笔记

©2015-2026 黑白梦 粤ICP备15018165号

联系: heibaimeng@foxmail.com