Fork me on GitHub

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 验证
  ↓
根据错误继续修复
posted @ 2026-08-31 15:13  极度恐慌_JG  阅读(12)  评论(0)    收藏  举报