TagLauncher 会话记录 - 2026-06-07
用户目标
- 排查为什么 Mole 能识别“贝锐向日葵被控”的中文名称,而 TagLauncher Quick Search / App Grid 显示内部英文名
isunclient。
- 判断 TagLauncher 的应用名称识别逻辑是否仍有遗漏,并在发布前修复。
已完成事项
- 确认本机应用结构:
- 外层:
/Applications/贝锐向日葵被控.app
- 内层:
/Applications/贝锐向日葵被控.app/Wrapper/isunclient.app
- 使用
mdls 和 Swift 元数据验证:
- 外层 Spotlight / Finder 本地化名为
贝锐向日葵被控
- 内层 Spotlight 名为
isunclient
- 内层 bundle
CFBundleDisplayName 仍可读到 贝锐向日葵被控
- 确认当前源码扫描逻辑使用
.skipsPackageDescendants,正常情况下只枚举外层 app,不会进入内层 Wrapper/isunclient.app。
- 加固
AppInfo.displayName:当语言映射没有命中时,回退到扫描阶段收集到的本地化名称,而不是直接回退内部英文名。
- 加固应用名称候选来源:增加
NSURLLocalizedNameKey 作为 Finder / LaunchServices 风格的本地化显示名来源。
- 新增回归脚本
Scripts/quick_search_app_name_qa.sh,覆盖“贝锐向日葵被控 / isunclient” wrapper 结构。
- 按用户可见修复将版本升为
7.8.16,build 升为 20260607.2329。
- 完成本地 QA 构建:
/Users/ar/Projects/Taglauncher-7.8.15-source/build/TagLauncher.app。
关键决策
- 该问题不应通过重写搜索引擎解决;根因集中在应用显示名候选和 wrapper / nested app 结构识别。
- 修复范围保持轻量:只增加本地化显示名兜底和回归检查,不改 Quick Search 排序、窗口层级、输入焦点或 App Grid 布局。
- 当前构建为本地 QA 构建,不等同于正式 App Store 发布包;如继续发布,需要重新冻结并生成 7.8.16 的正式 release package。
文件变更
/Users/ar/Projects/Taglauncher-7.8.15-source/Apptag/DataLayer.swift
displayName 增加 localizedNames.first 兜底。
- 应用名候选增加
.localizedNameKey 来源。
/Users/ar/Projects/Taglauncher-7.8.15-source/Scripts/quick_search_app_name_qa.sh
- 新增 wrapper / nested app 名称回归检查。
/Users/ar/Projects/Taglauncher-7.8.15-source/Apptag/Info.plist
- 版本更新为
7.8.16
- build 更新为
20260607.2329
/Users/ar/Projects/Taglauncher-7.8.15-source/CHANGELOG.md
- 新增
7.8.16 发布记录。
验证记录
Scripts/quick_search_app_name_qa.sh
- PASS:
贝锐向日葵被控 wrapper 优先于内层 isunclient
Scripts/quick_search_system_app_qa.sh
- PASS:
Keychain Access / 钥匙串访问 搜索候选仍正常
APP_BUILD=20260607.2329 bash build.sh
- PASS:生成
/Users/ar/Projects/Taglauncher-7.8.15-source/build/TagLauncher.app
- 元数据检查:
CFBundleShortVersionString = 7.8.16
CFBundleVersion = 20260607.2329
codesign --verify --deep --strict --verbose=2 build/TagLauncher.app
- PASS:valid on disk,satisfies its Designated Requirement
未决问题
- 还没有生成正式 7.8.16 App Store 发布目录、DMG/PKG、manifest、SHA256 和 release tag。
/Users/ar/Projects/Taglauncher-7.8.15-source 中存在一些发布截图/文档相关未提交改动,本轮未触碰,后续冻结前需要单独处理归属。
后续建议
- 若继续上架,下一步应重新冻结
7.8.16,生成新的 App Store 发布资料和正式签名包。
- 在真机上安装新构建后,重点复测 Quick Search 搜索
向日、贝锐、isunclient,以及 App Grid 中该应用的显示名称。