Taglauncher 会话记录 - 2026-06-08 16
用户目标
- 用户反馈切换到英文后仍看到 Apple 内置应用备注中的中文。
- 用户质疑测试覆盖,并要求解释为什么还有中文。
排查结论
- 当前真实应用身份为
com.taglauncher.app,Application Support 路径为 /Users/ar/Library/Application Support/TagLauncher/tags.json。
- 用户当前语言设置为
en。
- 新
TagLauncher/tags.json 中仍有 4 条 Apple app 中文备注:Home、Music、Phone、TV;metadata 为 origin=appleDefault。
- 英文 Apple 资源文件和 build bundle 中的英文 deflate 资源均正确,Home/Music/Phone/TV 对应英文备注均为英文。
- 根因不是资源文件缺失,而是运行时触发点设计不完整:
- 7.8.18/7.8.19 的备注重本地化主要依赖语言切换事件或 App Grid 的 ContentView。
- 如果用户当前已经处在英文,启动 App 时不会触发语言切换事件,旧 Apple 默认中文备注不会自动迁移。
- 如果在 Settings 中切语言时 App Grid 不存在,ContentView 的监听也可能错过事件。
已完成修复
- 修改
Apptag/ApptagApp.swift:
- App 启动后调用
relocalizeDefaultAppNotesForCurrentLanguageAsync()。
- 语言切换后也调用同一全局路径。
- 该路径扫描当前 app,并重本地化
.appleDefault 与 .catalogDefault 默认备注,然后广播数据刷新。
- 修改
Scripts/apple_default_note_policy_qa.sh:
- 增加 AppDelegate 全局重本地化检查。
- 要求启动路径和语言切换路径都调用默认备注重本地化。
- 更新版本:
7.8.20 / 20260608.1030
- 更新
CHANGELOG.md:
- 记录 7.8.20 修复启动时旧默认备注不会迁移的问题。
验证结果
Scripts/apple_default_note_policy_qa.sh PASS。
Scripts/apple_default_apps_resource_qa.sh PASS。
Scripts/smartstart_catalog_resource_qa.sh PASS。
- Quick Search 两条回归已在修复前重跑 PASS,后续未修改搜索路径。
APP_BUILD=20260608.1030 bash build.sh PASS。
bash make_dmg.sh PASS。
hdiutil verify build/TagLauncher-7.8.20-build20260608.1030.dmg PASS。
- App metadata:
7.8.20 / 20260608.1030。
codesign --verify --deep --strict --verbose=2 build/TagLauncher.app PASS。
- bundle 资源:Apple apps 77、Apple localizations 29、SmartStart entries 3453、SmartStart Apple entries 0。
- DMG 内容检查:包含
TagLauncher.app 和 Applications -> /Applications 链接。
产物
/Users/ar/Projects/Taglauncher-7.8.15-source/build/TagLauncher-7.8.20-build20260608.1030.dmg
- SHA256:
964d807faa2a819da3ecacd6ac3ecbe373178198ed41f303ff93dbc29bddc9e5
后续建议
- 用户安装 7.8.20 后重新打开 App;启动时应自动把当前英文环境下的 Apple 默认中文备注迁移为英文。
- 如仍看到中文,需要确认那条备注是否被用户手动编辑成
.manual,manual 按产品规则不会自动覆盖。