cmake build_error ai_generated partial

CMake 错误:CPack DMG:代码签名失败,错误代码为 1

CMake Error: CPack DMG: Code signing failed with error code 1

ID: cmake/cpack-dmg-signing-failure

其他格式: JSON · Markdown 中文 · English
75%修复率
85%置信度
1证据数
2023-11-15首次发现

版本兼容性

版本状态引入弃用备注
cmake 3.27.0 active — — —
cmake 3.28.0 active — — —
cmake 3.29.0 active — — —

根因分析

CPack DMG 生成器尝试对磁盘映像进行签名,但签名身份或授权缺失或无效。

English

CPack DMG generator attempted to sign the disk image but the signing identity or entitlements are missing or invalid.

generic

官方文档

https://cmake.org/cmake/help/latest/module/CPackDMG.html

解决方案

  1. 在 CMakeLists.txt 中,在包含 CPack 之前设置 CPACK_DMG_SKIP_CODESIGN 为 TRUE:
    
    set(CPACK_DMG_SKIP_CODESIGN TRUE)
    include(CPack)
  2. 通过运行以下命令确保存在有效的签名身份:
    
    security find-identity -v -p basic
    
    然后将 CPACK_DMG_SIGNING_IDENTITY 设置为匹配的身份字符串:
    
    set(CPACK_DMG_SIGNING_IDENTITY "Developer ID Application: Your Name (TEAMID)")

无效尝试

常见但无效的做法:

  1. Reinstall Xcode Command Line Tools 80% 失败

    Xcode tools are usually not the issue; the problem is a missing or expired signing certificate, not the tools themselves.

  2. Set CPACK_DMG_DS_STORE to an empty path 90% 失败

    This only changes the DS_Store file location, not the signing process; signing still fails.