Claude Code + Objective-C iOS 项目效率配置
适用环境: Mac + Xcode + Objective-C + CocoaPods
目标: 让 Claude Code 更好地理解 OC 项目,并完成代码分析、引用查找、Build、Test、Debug。
一、推荐配置
不建议安装过多插件,核心使用:
| 能力 | 推荐方案 | 作用 |
|---|---|---|
| OC 代码理解 | SourceKit-LSP | .h/.m/.mm 定义、引用、符号分析 |
| Xcode 操作 | Xcode MCP | Build、Run、Test、Debug |
| 代码索引 | xcindex | Symbol、References、影响范围分析 |
| 项目规范 | CLAUDE.md | 约束 Claude 的代码修改方式 |
核心组合
SourceKit-LSP + Xcode MCP + xcindex + CLAUDE.md
二、检查 Mac / Xcode 环境
1. 检查 Xcode
xcode-select -p
正常:
/Applications/Xcode.app/Contents/Developer
2. 检查 SourceKit-LSP
xcrun --find sourcekit-lsp
如果找不到:
xcode-select --install
三、安装 SourceKit-LSP
GitHub:
https://github.com/SzakacsCo/sourcekit-lsp-marketplace
启动 Claude Code:
claude
执行:
/plugin marketplace add tjzaks/sourcekit-lsp-marketplace
/plugin install sourcekit-lsp
安装时选择:
Install for you (user scope)
主要作用
- Objective-C
.h/.m/.mm - Go to Definition
- Find References
- Symbol Search
- Diagnostics
四、配置 Xcode MCP
注意: Xcode MCP 不是普通插件,而是让 Claude Code 可以调用 Xcode 工具。
1. Xcode 开启 MCP
根据 Xcode 版本,在:
Xcode
→ Settings
→ Intelligence
→ Model Context Protocol
开启:
Allow external agents to use Xcode tools
如果找不到
Intelligence或Model Context Protocol,先确认 Xcode 版本是否支持。
2. Terminal 添加 MCP
claude mcp add --transport stdio xcode -- xcrun mcpbridge
检查:
claude mcp list
确认存在:
xcode
主要作用
Claude 修改代码
↓
Xcode Build
↓
获取编译错误
↓
分析并修复
↓
再次 Build
五、安装 xcindex
GitHub:
https://github.com/drewalth/claude-xcindex
安装:
claude plugin marketplace add anthropics/claude-plugins-community
claude plugin install claude-xcindex@claude-community
主要作用
- Objective-C Symbol
- Find References
- Override
- Conformance
- 代码影响范围分析
特别适合大型、老旧 Objective-C 项目。
六、配置 CLAUDE.md
CLAUDE.md 是项目级 AI 开发规范,建议重点维护。
项目根目录:
touch CLAUDE.md
推荐内容:
# iOS 项目开发规范
## 1. 项目说明
这是一个 Objective-C iOS 项目。
主要技术:
- Objective-C
- Objective-C++
- 少量 Swift
- Xcode
- CocoaPods
- WebView / H5
## 2. 工程要求
项目使用 CocoaPods。
优先使用:
xxx.xcworkspace
不要直接使用:
xxx.xcodeproj
如果存在多个 Target / Scheme,修改前先确认当前需求对应的 Target 和 Scheme。
---
## 3. 代码修改原则
### 基本原则
1. 修改前先分析现有代码和调用关系。
2. 优先最小范围修改。
3. 不修改与需求无关的代码。
4. 保持现有代码结构和编码风格。
5. 不进行无需求的大规模重构。
6. 不为了“代码更漂亮”而主动修改已有逻辑。
7. 不删除已有逻辑,除非明确要求。
8. 不修改第三方库源码。
### Objective-C
保持项目现有 Objective-C 风格。
不要因为可以使用 Swift,就主动将 Objective-C 改成 Swift。
新增代码优先参考附近已有代码的:
- 命名方式
- 属性声明
- 方法结构
- 内存管理方式
- 错误处理方式
---
## 4. 修改前的分析要求
涉及以下情况时,修改前必须先分析:
- 公共方法
- 公共属性
- 网络接口
- 登录逻辑
- Token
- WebView / JSBridge
- 第三方 SDK
- 数据模型
- Notification
- Delegate
- Block
- 多线程代码
分析至少包括:
1. 定义位置
2. 调用位置
3. 主要调用链
4. 修改影响范围
5. 是否存在其他业务依赖
复杂需求先输出分析和修改方案,确认后再修改。
---
## 5. CocoaPods
项目使用 CocoaPods。
禁止直接修改:
Pods/
修改第三方依赖前必须先检查:
- Podfile
- Podfile.lock
- Target
- 第三方库依赖关系
未经明确要求,不要修改:
- Podfile
- Podfile.lock
- 第三方库版本
- Framework 配置
- use_frameworks 配置
如果出现 CocoaPods / Framework / 静态库 / 动态库问题:
先分析依赖关系,再提出修改方案。
---
## 6. WebView / H5
项目包含 WebView / H5 业务。
修改 Native 与 H5 通信前,必须先查找:
1. WebView 初始化位置
2. JSBridge
3. JS Message 定义
4. Native Handler
5. H5 调用位置
6. 相关 Delegate / Callback
不要随意新增一套通信机制。
优先复用项目现有 JSBridge。
---
## 7. 网络请求
修改接口相关代码前:
1. 找到 API 定义
2. 找到请求参数
3. 找到请求调用方
4. 找到 Response Model
5. 找到成功 / 失败处理
6. 确认是否存在公共网络层
不要绕过现有 Network 层直接新增网络请求。
---
## 8. 多线程
涉及:
- GCD
- NSOperation
- NSThread
- Delegate
- Block
- UI 更新
必须注意线程安全。
UIKit UI 操作必须在主线程执行。
修改异步代码时,注意:
- 循环引用
- Block 持有关系
- 对象生命周期
- 回调线程
- Race Condition
---
## 9. Build 要求
修改完成后必须进行 Build 验证。
如果 Build 失败:
1. 获取完整错误信息
2. 定位具体文件和代码
3. 分析根因
4. 修改
5. 再次 Build
不要只根据猜测修改代码。
如果无法 Build,需要明确说明原因。
---
## 10. 测试要求
如果项目存在 Unit Test / UI Test:
修改核心业务逻辑后优先检查相关测试。
至少验证:
- 编译是否通过
- 是否存在明显 Warning
- 主要调用链是否正常
- 是否影响已有功能
---
## 11. Git 要求
未经明确要求,不要:
- git reset
- git checkout -- .
- git clean
- 删除未提交代码
- 修改其他人的代码
不要覆盖用户已有修改。
如果发现工作区存在未提交修改:
先确认相关文件是否属于当前需求,再进行修改。
---
## 12. 配置和签名
未经明确要求,不要修改:
- Bundle Identifier
- Signing
- Team
- Provisioning Profile
- Certificate
- Entitlements
- App Store 配置
- Release 配置
- 生产环境 URL
- API 地址
---
## 13. 修改完成后的总结
每次完成任务后,简要说明:
### 修改内容
- 修改了哪些文件
- 修改了什么
### 影响范围
- 影响哪些模块
- 是否存在潜在影响
### 验证结果
- Build 是否成功
- Test 是否通过
- 是否存在需要关注的 Warning / Error
不要输出大量无关内容。
七、推荐的 Claude 使用方式
复杂需求:先分析,再修改
第一步:
先不要修改代码。
分析登录功能:
1. 找到登录页面
2. 找到登录接口
3. 找到登录成功处理
4. 找到 Token 保存位置
5. 找到 WebView 登录态同步
6. 分析相关调用关系
7. 分析修改影响范围
输出分析结果和修改方案。
确认方案后:
按照刚才的方案修改。
要求:
- 最小改动
- 保持现有 Objective-C 风格
- 不修改无关代码
- 不修改 Pods
- 修改完成后 Build
- Build 失败则继续分析并修复
最后告诉我:
1. 修改了哪些文件
2. 修改内容
3. Build 结果
4. 是否存在风险
八、最终命令清单
以后换 Mac 或重新配置,可以直接执行:
# Xcode
xcode-select -p
# SourceKit-LSP
xcrun --find sourcekit-lsp
# Claude Code
claude --version
# Xcode MCP
claude mcp add --transport stdio xcode -- xcrun mcpbridge
# 检查 MCP
claude mcp list
Claude Code 中:
# SourceKit-LSP
/plugin marketplace add tjzaks/sourcekit-lsp-marketplace
/plugin install sourcekit-lsp
Terminal:
# xcindex
claude plugin marketplace add anthropics/claude-plugins-community
claude plugin install claude-xcindex@claude-community
九、GitHub 地址
SourceKit-LSP Marketplace
https://github.com/SzakacsCo/sourcekit-lsp-marketplace
Apple SourceKit-LSP
https://github.com/swiftlang/sourcekit-lsp
Claude xcindex
https://github.com/drewalth/claude-xcindex
十、最终推荐
Claude Code
│
├── SourceKit-LSP
│ └── Objective-C 代码理解
│
├── xcindex
│ └── Symbol / 引用 / 影响分析
│
├── Xcode MCP
│ └── Build / Test / Run / Debug
│
└── CLAUDE.md
└── 项目规范 / 修改约束
核心原则:插件不求多,重点是:
看懂代码
↓
找准影响范围
↓
最小化修改
↓
Xcode Build 验证
↓
根据错误继续修复


浙公网安备 33010602011771号