SuperAPI AI 工具集

swift-concurrency-expert

编程与开发

查看项目

更新于 10-15 23:34

技能介绍

用途:审查并修复 Swift 6.2+ 代码库中的 Swift Concurrency 问题,在尽量不改变现有行为的前提下,应用 actor 隔离、Sendable 安全与现代并发模式,使代码满足数据竞争安全要求。

主要能力与工作流:

  1. 问题分诊:记录编译器诊断信息与相关符号;检查项目并发设置,包括 Swift 语言版本(6.2+)、严格并发级别,以及是否启用 approachable concurrency(默认 actor 隔离 / 默认主 actor);识别当前 actor 上下文(@MainActor、actor、nonisolated)与默认隔离模式;确认代码是否绑定 UI 或需在主 actor 之外运行。
  2. 应用最小安全修复:优先保留原有行为。常见做法包括:UI 绑定类型用 @MainActor 标注类型或成员;主 actor 类型的协议遵循改为隔离遵循,如 extension Foo: @MainActor SomeProtocol;全局/静态状态用 @MainActor 保护或移入 actor;后台工作移入 nonisolated 类型上的 @concurrent async 函数,或用 actor 保护可变状态;Sendable 错误优先使用不可变/值类型,仅在正确时添加 Sendable,避免 @unchecked Sendable,除非能证明线程安全。
  3. 验证修复:重新构建,确认并发诊断全部解决且未引入新警告;运行测试套件检查回归,因为并发改动即使构建干净也可能带来细微运行时问题;若出现新警告,按第 1 步重新分诊,迭代至构建干净且测试通过。

适用场景:需要审查 Swift Concurrency 用法、提升并发合规性,或修复 Swift 6.2+ 并发相关编译错误与数据竞争警告的 iOS/Swift 项目。

限制:资料未提供安装命令、收费方式、平台支持范围或效果保证;具体修复需结合项目实际并发设置与编译器诊断判断。参考资料包括 references/swift-6-2-concurrency.md、references/approachable-concurrency.md 与 references/swiftui-concurrency-tour-wwdc.md。