按模块拆分 XCUITest 用例与 Support 基础设施,UI Test 运行时跳过推送与排队 WebSocket,并将 Podfile 最低版本对齐 iOS 16。 Co-authored-by: Cursor <cursoragent@cursor.com>
1.6 KiB
1.6 KiB
-
AGENTS
项目
iOS
- iOS App
- SwiftUI
- 最低支持 iOS 16
- 只支持竖屏
架构
MVVM
模块文档
每个功能模块下,都需要新建一个 Markdown 文档,用来描述该模块下的业务代码逻辑
- 文档文件建议命名为
README.md或<模块名>.md - 文档需要说明模块职责、核心业务流程、主要页面/ViewModel/API/Model 的关系
- 新增或修改模块业务逻辑时,需要同步更新对应模块文档
- 文档描述业务逻辑即可,避免记录临时实现细节或无关调试信息
界面
TabBar UIKit 风格
尽量少使用 LiquidGlass
NavigationStack
第三方库
阿里云 OSS
- 用于上传文件
Kingfisher
- 用于显示网络图片
Lottie
- 用于展示全局 Loading 动画
测试
新增功能和新业务逻辑时,需要同步添加或更新单元测试代码
- 测试用例需要覆盖核心成功路径、失败路径和关键边界条件
- 修改现有业务逻辑时,需要同步调整相关测试
- 提交前需要运行测试
- 测试不通过时,需要修复问题,直到测试全部通过
编码风格
Swift
async/await
生成的代码添加必要注释
- 复杂逻辑、关键业务规则、容易误解的地方需要注释
- 方法名需要添加注释,说明方法的作用
- 类名、结构体名需要添加注释,说明代表什么实体、承担什么职责
- 简单赋值、普通布局、显而易见的代码不需要注释