关于 swift-core
面向 Apple 平台 Swift 开发者的 Swift 6 基础技能指南,涵盖并发、架构、测试、本地化与性能分析,并提供各主题的参考资料。
主要功能
- 01Swift 6 并发与安全类型
- 02MVVM 与 Clean Architecture
- 03支持 async/await 的 XCTest
- 04String Catalog 本地化
- 05使用 Instruments 分析性能
适用场景
- 01实现 async/await 与 actor 并发
- 02规划 Swift 应用架构
- 03编写异步 XCTest
- 04本地化界面并分析性能
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ fusengine/ agents --skill swift-core安装后在 Claude Code 中输入/swift-core确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/architecture.mdconcurrency.mdi18n.mdperformance.mdtesting.md详细介绍
涵盖 iOS、macOS、iPadOS、watchOS 和 visionOS 共有的 Swift 6 语言与平台基础:使用严格并发检查的 async/await 和 actor、Sendable 类型、应用架构(推荐默认采用带 @Observable 的 MVVM,复杂应用采用 Clean Architecture)、使用 XCTest 进行异步测试、基于 String Catalog 的本地化,以及使用 Instruments 进行性能分析。
参考资料深入介绍各个领域:并发、架构/依赖注入、测试、国际化和性能。
最佳实践:共享状态优先使用 actor,而不是带锁的类;优先使用 @Observable,而不是 ObservableObject;优先采用结构化并发,而不是完成处理程序;所有面向用户的文本都使用 String Catalog;在 Release(-O)构建中进行性能分析;尽可能使用值类型(struct),而不是类。
Swift Core
适用于所有 Apple 平台的 Swift 6 基础知识。
Agent 工作流(强制)
任何实现开始前,必须并行启动 3 个 Agent,每个使用一次 Agent 调用并指定 name:
- fuse-ai-pilot:explore-codebase - 分析现有 Swift 模式
- fuse-ai-pilot:research-expert - 通过 Context7/Exa 核实最新的 Swift 6 文档
- mcp__apple-docs__search_apple_docs - 检查 Swift 并发模式
实现完成后,运行 fuse-ai-pilot:sniper 进行验证。
概述
适用场景
- 实现 async/await、actor、Sendable
- 设计应用架构(MVVM、Clean Architecture)
- 使用 XCTest 编写异步测试
- 使用 String Catalog 进行本地化
- 使用 Instruments 进行性能分析
为什么选择 Swift Core
| 功能 | 优势 |
|---|---|
| Actors | 无需锁即可实现线程安全的共享状态 |
| @Observable | 简单的响应式状态(取代 ObservableObject) |
| String Catalogs | 使用 Xcode 15+ 实现自动本地化 |
| Instruments | 内置性能分析工具 |
核心概念
并发(Swift 6)
采用严格并发检查的现代 async/await。Actor 可提供线程安全的状态,Sendable 用于标记安全类型。
架构
推荐采用带 @Observable 的 MVVM 模式。复杂应用可使用 Clean Architecture 实现领域分离。
测试
XCTest 原生支持 async/await。异步测试无需使用 expectations。
国际化
必须使用 String Catalog。所有面向用户的文本都必须本地化。
性能
使用 Instruments 进行性能分析。采用延迟加载,避免在视图 body 中执行繁重工作。
参考指南
| 需求 | 参考资料 |
|---|---|
| Async/await、actor、Sendable | concurrency.md |
| MVVM、Clean Architecture、DI | architecture.md |
| XCTest、异步测试、模拟 | testing.md |
| String Catalog、本地化 | i18n.md |
| Instruments、优化 | performance.md |
最佳实践
- 共享状态使用 Actor - 优先使用 actor,而不是带锁的类
- 优先使用 @Observable,而不是 ObservableObject - 更简单,性能更好
- 结构化并发 - 使用 async/await,不使用完成处理程序
- String Catalog - 所有面向用户的文本都必须本地化
- 在 Release 中进行性能分析 - 始终使用
-O优化选项进行性能分析 - 值类型 - 优先使用 struct,而不是类
评论
支持 Markdown