edit | blame | history | raw

2026-06-27 tips默认显示检查

用户目标

检查最新代码库是否满足规则:初次安装用户默认显示 tips,而不是隐藏。若当前代码不满足,则产出一份研发可落地的需求文档。

已完成事项

  • 在当前工作区 /Users/ar/Projects/Taglaunchersrc/ 源码中做只读检查。
  • 检查了默认值注册、主界面显示条件、设置页绑定、关闭动作持久化和现有 QA 脚本断言。
  • 运行 bash src/Scripts/usage_tips_qa.sh,结果通过。

关键结论

当前代码已经满足该规则,不需要新增需求文档。

证据:

  • src/Apptag/AppDefaults.swiftAppDefaults.hideUsageTips = false,含义是默认“不隐藏 tips”。
  • AppDefaults.register()"hideUsageTips": hideUsageTips 注册进 UserDefaults,初装用户没有持久化值时会使用该默认值。
  • src/Apptag/ApptagApp.swiftapplicationDidFinishLaunching 调用 AppDefaults.register(),默认值会在应用启动时生效。
  • src/Apptag/ContentView.swift 使用 @AppStorage("hideUsageTips") private var hideUsageTips = AppDefaults.hideUsageTips,并通过 !hideUsageTips && !allApps.isEmpty && !quickSearchOnlySession 控制 tips 是否显示。
  • src/Apptag/PreferencesView.swift 绑定同一个 hideUsageTips 偏好项,设置页开关语义是“隐藏使用技巧”,初装默认关闭该开关。
  • src/Scripts/usage_tips_qa.sh 已断言 static let hideUsageTips = false,说明现有 QA 已覆盖“默认显示 tips”的规则。

QA 结果

bash src/Scripts/usage_tips_qa.sh

结果:

PASS usage tips QA: native split teaching banner, theme-aware glass, click protection, close action, and 29-language localizations are present

文件变更

  • 新增本会话记录:.codex-sessionhistory/2026-06-27-tips默认显示检查.md
  • 未修改 App 源码。
  • 未新增需求文档,因为当前代码未触发“如果不是”的条件。

未决问题

  • 当前规则已由静态 QA 脚本覆盖;未执行完整构建或真实初装沙盒验证。

后续建议

  • 发布前 QA 可在干净用户偏好环境下补一次真实启动验证:删除/隔离 App 的 UserDefaults 后首次启动,App Grid 有应用数据时 tips 默认显示;用户确认关闭后才持久隐藏。