SuperAPI AI 工具集

feature-flags

部署与运维

查看项目

更新于 10-16 09:52

技能介绍

用途:为 iOS 17+ / macOS 14+ 的 SwiftUI 项目生成一套完整的特性开关基础设施,用于开关功能、A/B 测试、灰度发布、远程配置与 kill switch,避免每次改动都要发版。触发场景包括“添加 feature flags”、提到 Firebase Remote Config、渐进式发布、按用户子集远程控制功能,或需要开发期调试菜单。

主要能力:按配置生成类型化标志枚举与默认值、协议化提供者(本地 UserDefaults、远程 URL 加磁盘缓存、复合模式远程覆盖本地)、@Observable 管理器、SwiftUI Environment 注入、仅 DEBUG 可用的调试菜单;支持布尔、字符串、整数、JSON 四种值类型,用于 kill switch、文案变体、阈值与复杂配置。

使用方式:技能会先检测项目结构与已有实现,确认是否替换或扩展、是否包装第三方 SDK;随后通过提问确定要标记的功能、值类型、提供者架构(本地/远程/复合)、是否含调试菜单与环境集成;再按项目路径(Sources/FeatureFlags/ 等)生成文件。集成时在 App 入口初始化管理器并注入 .environment,视图中用 @Environment(FeatureFlagManager.self) 读取,远程模式需调用 try await featureFlagManager.refresh()。

限制:需要 iOS 17+ / macOS 14+ 才有 @Observable;远程标志需网络权限与可用 JSON 端点,本资料未提供具体接口协议、定价或服务条款。注意远程失败时必须回退本地默认值、全量发布后及时清理标志、调试开关不得进入发布构建、UserDefaults 键统一加 ff_ 前缀,并提供缓存时长(默认 5 分钟)。