• failed content

    /Users/macserver/Library/Developer/Xcode/DerivedData/CRM-aghqpbaaoycsdgddnnenvhgeuxjo/Build/Intermediates.noindex/ArchiveIntermediates/CRM/InstallationBuildProductsLocation/Applications/CRM.app: errSecInternalComponent

    参考答案 链接

    • 大部分答案都告诉你重启机器
    • 根本原因是 Jenkins,ssh 方式到 slave 机上,默认是没有账户的,但是访问钥匙串要求必须有用户身份,所以添加一步输入密码解锁钥匙串,可以给 Jenkins 一个用户身份。 build 步骤前添加一步解锁钥匙串。 security unlock-keychain -p "login pwd" ~/Library/Keychains/login.keychain
  • 也有网友是这样解释的,殊途同归:
    Linux 服务器上的 Jenkins 调用 Mac Slave 时,是通过之前设置的 SSH 登录的方式,而 Apple 为了安全,在 ssh 登录时,是不允许读取 Keychains(钥匙串)的,所以 security -v unlock-keychain -p "yourpassword"这行命令就很重要了。在构建打包前,先解锁 Keychains。
    作者:Dark_Angel

  • 重要提示:

    • Jenkins,ssh 方式到 slave 机上,默认是没有账户的,但是访问钥匙串要求必须有用户身份,所以添加一步输入密码解锁钥匙串,可以给 Jenkins 一个用户身份。 在 build 中的 shell 中添加一行代码在 xcodebuild 之前解锁钥匙串。 security unlock-keychain -p "your login pwd" ~/Library/Keychains/login.keychain