SuperAPI AI 工具集

debug-menu

测试与质量

查看项目

更新于 10-16 08:08

技能介绍

用途:为 iOS/macOS 的 SwiftUI 项目生成一个开发者调试菜单,通过摇一摇手势或隐藏点击打开,用于开发期排查与测试。所有生成代码都包裹在 #if DEBUG 中,不会随生产版本发布。

主要能力:功能开关(运行时切换 feature flag)、环境切换(dev/staging/production)、网络日志查看(请求、状态码、耗时)、缓存清理(图片/HTTP/全部)、崩溃触发(用于 Crashlytics 测试)、诊断信息(设备、内存、磁盘、应用版本)与诊断报告导出。可选推送通知模拟测试。

使用方式:技能在用户提到“debug menu”“developer menu”“shake to debug”“toggle feature flags”“environment switching”“network log viewer”等时激活。生成前会检测部署目标(@Observable 需 iOS 17+/macOS 14+)、Swift 版本(需 5.9+)、项目结构,并搜索已有调试菜单与功能开关代码以避免冲突。随后通过提问确认访问方式(摇一摇/隐藏点击/两者)、包含的区块、是否含推送测试与诊断导出。生成文件包括 DebugMenuView.swift、DebugSection.swift、可选的 DebugEnvironmentSwitcher.swift、DebugNetworkLogger.swift、DiagnosticInfo.swift、DebugMenuTrigger.swift 与 DebugActions.swift,并给出在根视图添加 .debugMenuTrigger()、接入网络日志、注册功能开关的集成示例。

适用场景:SwiftUI 应用开发期的调试与测试,尤其是需要快速切换环境、查看网络请求或验证功能开关时。

限制与注意事项:必须仅用于 #if DEBUG,需确认发布配置未定义 DEBUG 标志;摇一摇可能与系统“摇动撤销”冲突,需设置 applicationSupportsShakeToEdit = false;网络日志可能记录敏感数据,需剥离授权头并脱敏;功能开关覆盖会写入 UserDefaults,需加前缀并提供重置按钮;环境切换后部分服务需重启应用才生效;共享调试状态需用 actor 或 @MainActor 保证线程安全。具体模板细节见 templates.md。