# 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 中该应用的显示名称。