Fork me on GitHub

Claude Code iOS Skills(ObjC)

用 Claude Code 开发 Objective-C iOS 项目,这几个 Skills 必须装上(附实战经验)

在 AI 编程工具逐渐成为日常开发标配的今天,Claude Code 官方文档 提供的 Skills(技能)机制,是提升代码生成质量和稳定性的核心能力之一。简单来说,Skill 就是一组可复用的项目规则、架构约束和最佳实践,Claude 会在特定场景下自动加载这些知识,从而生成更符合团队规范的代码。(Claude)

最近看到一篇很有启发的文章《用 Claude Code 开发 iOS,这几个 Skill 必须装上》,结合自己的实际项目(Objective-C + CocoaPods + MVC/MVVM + ReactiveObjC),整理了一套适用于传统 iOS 原生项目的 Skill 体系。本文既是学习笔记,也是一套可以直接落地的 AI 开发方法论。


一、为什么 Objective-C 项目更需要 Skills?

如果你维护的是一个成熟的 iOS 项目,大概率会遇到这些问题:

  • 项目历史悠久,代码风格不统一

  • 同时存在 MVC 和 MVVM 两种架构

  • 使用 CocoaPods 管理大量第三方依赖

  • 引入 ReactiveObjC,增加了响应式编程复杂度

  • 模块间耦合较高,修改一个功能牵一发动全身

  • 新成员需要很长时间才能熟悉规范

这些问题对 AI 编程工具同样存在。

如果不给 Claude 明确规则,它可能会:

  • 用 Swift 写代码,而不是 Objective-C

  • 忽略你们的命名规范

  • 不使用 ReactiveObjC

  • 错误组织目录结构

  • 写出与现有架构不兼容的代码

而 Skill 的价值就在于:

把团队经验固化成可复用知识,让 Claude 像一位熟悉项目多年的高级工程师一样工作。


二、我们的项目技术栈

当前项目技术栈如下:

Objective-C
CocoaPods
MVC(主体架构)
MVVM(部分模块)
ReactiveObjC(RAC)
Xcode

技术栈特点:

  • 以 Objective-C 为主,没有 Swift

  • 使用 CocoaPods 管理所有依赖

  • 大部分模块采用 MVC

  • 新业务模块逐步迁移到 MVVM

  • ViewModel 中广泛使用 ReactiveObjC

  • 包含大量工具类、基类和业务组件

因此,我们需要一套专门适配 OC 项目的 Skills。


三、最推荐安装的 6 个核心 Skills

1. ios-architect —— iOS 架构专家(最重要)

这是整个 Skill 体系的核心。

职责

  • 强制使用 Objective-C

  • 遵循 MVC/MVVM 架构规范

  • 自动生成目录结构

  • 统一命名规则

  • 控制 Controller/View/ViewModel 职责边界

典型规则

  • XXXViewController

  • XXXView

  • XXXViewModel

  • XXXService

  • XXXManager

自动触发场景

  • 新建页面

  • 新建模块

  • 重构业务

  • 架构设计

示例 Prompt

创建“客户详情”模块,使用 MVVM + ReactiveObjC。

Claude 将自动生成:

  • CustomerDetailViewController

  • CustomerDetailView

  • CustomerDetailViewModel

  • 对应 .h / .m 文件


2. objective-c-best-practices —— Objective-C 最佳实践

职责

  • 属性声明规范

  • weak/strong 使用

  • Block 循环引用处理

  • 分类命名

  • 宏定义规范

  • 空值判断

典型规则

@property (nonatomic, copy) NSString *title;
@property (nonatomic, strong) NSArray *dataSource;
@property (nonatomic, weak) id<Delegate> delegate;

自动约束

  • 禁止滥用宏

  • 禁止魔法数字

  • 统一 NS_ASSUME_NONNULL_BEGIN

  • 推荐 typedef NS_ENUM


3. cocoapods-manager —— 依赖管理助手

职责

  • 修改 Podfile

  • 添加或移除依赖

  • 分析版本冲突

  • 处理私有 Pod

  • 生成安装命令

示例 Prompt

引入 AFNetworking,要求兼容 iOS 15。

Claude 会:

  1. 修改 Podfile

  2. 添加 Pod 声明

  3. 说明执行 pod install

  4. 给出版本建议


4. reactiveobjc-guide —— ReactiveObjC 专家

如果项目使用 ReactiveObjC,这个 Skill 非常关键。

职责

  • RAC 信号创建

  • 数据绑定

  • 命令封装

  • 网络请求链

  • 表单验证

  • 内存管理

常用模式

self.submitCommand = [[RACCommand alloc] initWithSignalBlock:^RACSignal *(id input) {
    return [self.service submit];
}];

自动触发场景

  • ViewModel 开发

  • 表单校验

  • 按钮点击逻辑

  • 链式请求


5. ios-debugger —— iOS 问题排查专家

职责

  • 崩溃分析

  • 内存泄漏定位

  • Auto Layout 冲突

  • 多线程问题

  • 启动性能优化

示例 Prompt

分析这个 EXC_BAD_ACCESS 崩溃。

Claude 会从:

  • 循环引用

  • 野指针

  • Block 捕获

  • RAC 生命周期

等方面进行系统排查。


6. unit-test-generator —— 单元测试生成器

职责

  • 自动生成 XCTest

  • Mock Service

  • ViewModel 测试

  • RAC 异步测试

最适用对象

  • ViewModel

  • Service

  • 工具类

  • 数据转换层


四、我最推荐的 4 个自定义 Skills

官方 Skill 很通用,但真正让 Claude 产出稳定的关键,是结合项目沉淀的自定义 Skill。


1. project-structure

定义目录结构:

Modules/
├── Customer
│   ├── Controller
│   ├── View
│   ├── ViewModel
│   ├── Service
│   └── Model

2. coding-style

定义团队规范:

  • 属性顺序

  • pragma mark

  • 注释模板

  • 命名规则

  • TODO 标准


3. network-layer

统一网络层:

  • BaseRequest

  • BaseResponse

  • 错误码处理

  • Token 失效逻辑

  • Loading 状态


4. business-domain

沉淀业务术语:

  • 客户

  • 授信

  • 合同

  • 风控

  • 审批

这样 Claude 能理解真实业务上下文,而不仅仅是技术实现。


五、推荐的 Skill 目录结构

~/.claude/skills/
├── ios-architect/
├── objective-c-best-practices/
├── cocoapods-manager/
├── reactiveobjc-guide/
├── ios-debugger/
├── unit-test-generator/
├── project-structure/
├── coding-style/
├── network-layer/
└── business-domain/

每个 Skill 目录包含一个 SKILL.md 文件。


六、一个适用于 Objective-C 项目的 SKILL.md 示例

---
name: ios-architect
description: Objective-C iOS architecture expert for MVC/MVVM and ReactiveObjC projects.
---

# Rules

- Always use Objective-C, never Swift.
- Use CocoaPods for dependency management.
- Follow existing MVC/MVVM patterns.
- Use ReactiveObjC in ViewModel.
- Keep ViewController lightweight.
- Business logic belongs in Service or ViewModel.
- Follow project naming conventions.

七、实际开发中的使用场景

场景 1:创建新页面

创建客户详情页面,使用 MVVM + ReactiveObjC。

Claude 将:

  • 自动识别 MVVM

  • 创建 ViewModel

  • 使用 RACCommand

  • 按目录生成文件


场景 2:接入新 Pod

接入 SDWebImage,并封装图片加载组件。

Claude 将:

  • 修改 Podfile

  • 给出 pod install

  • 封装统一组件


场景 3:重构胖 Controller

将这个 2000 行的 ViewController 重构为 MVVM。

Claude 将:

  • 抽离 ViewModel

  • 提取 Service

  • 将事件改造为 RAC


场景 4:定位崩溃

分析 RAC 信号释放后的崩溃。

Claude 将结合 ReactiveObjC 生命周期给出排查方案。


八、Skill 带来的实际收益

在持续使用后,最明显的变化有:

1. 代码一致性显著提升

生成的代码几乎直接符合团队规范。

2. Prompt 更短

不需要反复解释:

  • 用 Objective-C

  • 使用 MVC/MVVM

  • 使用 ReactiveObjC

3. 上下文利用率更高

Skill 按需加载,不必每次都将项目规范写进 Prompt。(Claude)

4. 重构效率明显提升

对老项目尤其有价值。

5. 新成员快速上手

Skill 本身就是项目知识库。


九、我目前最常用的 Skill 组合

场景Skill 组合
新建模块 ios-architect + project-structure
编写 ViewModel reactiveobjc-guide + coding-style
接入依赖 cocoapods-manager
问题排查 ios-debugger
业务开发 business-domain + network-layer
测试补充 unit-test-generator

十、推荐安装顺序

建议分三阶段建设。

第一阶段:基础能力

  1. ios-architect

  2. objective-c-best-practices

  3. cocoapods-manager

第二阶段:项目适配

  1. reactiveobjc-guide

  2. project-structure

  3. coding-style

第三阶段:业务沉淀

  1. network-layer

  2. business-domain

  3. ios-debugger

  4. unit-test-generator


十一、Skill 的本质:把经验变成系统

Skill 的价值不在于“装得越多越好”,而在于:

  • 将架构规范固化

  • 将团队经验沉淀

  • 将业务知识结构化

  • 将最佳实践自动执行

这意味着:

你不是在“使用 AI”,而是在“训练属于团队自己的 AI 工程师”。


十二、我的使用建议

对于维护 Objective-C 老项目的 iOS 开发者,我建议优先建立以下 4 个核心 Skill:

  1. ios-architect

  2. objective-c-best-practices

  3. reactiveobjc-guide

  4. project-structure

只要这四个配置完成,Claude Code 的产出质量就会有明显提升。


十三、可直接下载的模板仓库

Anthropic Skills 官方仓库

Awesome Claude Code Skills

Claude Skillify 自动生成工具

 

十四、总结

我们的项目技术栈:

  • Objective-C

  • CocoaPods

  • MVC/MVVM

  • ReactiveObjC

在这样的传统 iOS 工程中,Claude Code 最大的问题不是“不会写代码”,而是“不理解项目规则”。

Skills 正是解决这个问题的最佳方式。

通过构建一套符合团队规范的 Skills:

  • Claude 会自动遵循架构设计

  • 输出更稳定

  • Prompt 更简洁

  • 开发效率显著提升

  • 项目知识得到长期沉淀

如果你也在维护一个多年积累的 Objective-C 项目,那么最值得投入的,不是不断优化 Prompt,而是花半天时间,把团队经验写成 Skills。

一旦建立完成,后续每一次对话都将持续受益。

posted @ 2026-05-20 19:40  极度恐慌_JG  阅读(192)  评论(0)    收藏  举报