首页 > 解决方案 > macOS 无法使用证书从命令行签署可执行文件 larget,但从 Xcode 运行时成功

问题描述

我目前正在尝试使用 Jenkins 自动化从命令行构建我的项目。然而,虽然这两种方法都使用相同的代码签名参数,但基于 UI 的签名(来自 Xcode)会成功,并且在从 xcodebuild 运行时会失败,原因如下:

    /usr/bin/codesign --force --sign <my_cert_id> --timestamp\=none /Users/bla/file.dylib

结果是:

Warning: unable to build chain to self-signed root for signer 
"Apple Development: userBuilder (...)" /Users/bla/file.dylib: errSecInternalComponent

但是从 Xcode 调用相同的命令时会成功运行。

我的问题是:

  1. 在这两种情况下,证书+私钥是否都取自钥匙串?
  2. 是否存在仅在 Xcode 模式下可能存在的环境变量?

标签: xcodecodesign

解决方案


推荐阅读