Skip to content

Copybug: x64 dmg 二进制内容与版本号不符,实际仍为 v0.9.8 #261

@ilxu7z

Description

@ilxu7z

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

排查过程

  1. 首先怀疑 macOS App Translocation,已通过 xattr -cr 清除隔离属性并从 /Applications 正确路径启动(已确认进程路径不再包含 AppTranslocation),问题依旧
  2. 多次重新下载安装,哈希值一致,问题不变
  3. 最终定位到 dmg 内二进制文件本身就是旧版

推测原因

CI 构建流程中,x64 版本的二进制可能未正确更新,仅更新了 Info.plist 的版本号。

建议

  1. 检查 CI 构建脚本中 x64 版本的构建流程
  2. 对比 arm64 版本的二进制中 "0.9.8" 和 "0.14.0" 出现次数,确认是否仅 x64 有此问题
  3. 为所有平台构建产物添加签名,避免 macOS App Translocation 带来额外排查成本
  4. 在 CI 中增加版本号一致性校验(检查二进制中的版本字符串与 Info.plist 是否匹配)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions