markdownCopy## 问题描述
在 GitHub Releases 页面下载的 ClawPanel_0.14.0_x64.dmg,安装后 UI 显示版本为 v0.9.8,功能也停留在 v0.9.8,新版本功能和界面均未生效。
环境信息
证据
1. Info.plist 显示 0.14.0
$ defaults read /Applications/ClawPanel.app/Contents/Info.plist CFBundleShortVersionString
0.14.0
Copy
2. 但二进制文件中 0.9.8 出现次数多于 0.14.0
$ grep -c "0.9.8" /Applications/ClawPanel.app/Contents/MacOS/clawpanel
8
$ grep -c "0.14.0" /Applications/ClawPanel.app/Contents/MacOS/clawpanel
5
Copy
3. UI 标题栏显示 0.9.8,功能也与 0.9.8 一致
在另一台电脑上安装相同版本号的 dmg,功能正常为新版,怀疑仅 x64 构建存在问题。
4. SHA256 哈希(多次下载一致)
19f98c17fc77f630a1d698ebcb42c8933f76f414e78994e9d7039e9ac3c52816
Copy
5. App 未签名
$ codesign -dvvv /Applications/ClawPanel.app 2>&1 | head -1
/Applications/ClawPanel.app: code object is not signed at all
Copy
排查过程
- 首先怀疑 macOS App Translocation,已通过 xattr -cr 清除隔离属性并从 /Applications 正确路径启动(已确认进程路径不再包含 AppTranslocation),问题依旧
- 多次重新下载安装,哈希值一致,问题不变
- 最终定位到 dmg 内二进制文件本身就是旧版
推测原因
CI 构建流程中,x64 版本的二进制可能未正确更新,仅更新了 Info.plist 的版本号。
建议
- 检查 CI 构建脚本中 x64 版本的构建流程
- 对比 arm64 版本的二进制中 "0.9.8" 和 "0.14.0" 出现次数,确认是否仅 x64 有此问题
- 为所有平台构建产物添加签名,避免 macOS App Translocation 带来额外排查成本
- 在 CI 中增加版本号一致性校验(检查二进制中的版本字符串与 Info.plist 是否匹配)
markdownCopy## 问题描述
在 GitHub Releases 页面下载的 ClawPanel_0.14.0_x64.dmg,安装后 UI 显示版本为 v0.9.8,功能也停留在 v0.9.8,新版本功能和界面均未生效。
环境信息
证据
1. Info.plist 显示 0.14.0
$ defaults read /Applications/ClawPanel.app/Contents/Info.plist CFBundleShortVersionString
0.14.0
Copy
2. 但二进制文件中 0.9.8 出现次数多于 0.14.0
$ grep -c "0.9.8" /Applications/ClawPanel.app/Contents/MacOS/clawpanel
8
$ grep -c "0.14.0" /Applications/ClawPanel.app/Contents/MacOS/clawpanel
5
Copy
3. UI 标题栏显示 0.9.8,功能也与 0.9.8 一致
在另一台电脑上安装相同版本号的 dmg,功能正常为新版,怀疑仅 x64 构建存在问题。
4. SHA256 哈希(多次下载一致)
19f98c17fc77f630a1d698ebcb42c8933f76f414e78994e9d7039e9ac3c52816
Copy
5. App 未签名
$ codesign -dvvv /Applications/ClawPanel.app 2>&1 | head -1
/Applications/ClawPanel.app: code object is not signed at all
Copy
排查过程
推测原因
CI 构建流程中,x64 版本的二进制可能未正确更新,仅更新了 Info.plist 的版本号。
建议