对框架进行代码签名失败并出现 "Permission denied" 错误

Code signing a framework fails with "Permission denied" error

我最近将 Plantronics macOS SDK (Spokes3GSDK.framework) 添加到我的 Electron 桌面应用程序中。

当我尝试对应用程序签名时,失败并显示“权限被拒绝”错误。

  ⨯ Error: Command failed: codesign --sign IDENTITY_HASH --force --timestamp --options runtime --entitlements ./setup/build/entitlements.mac.plist /private/var/lib/jenkins/workspace/MY_BRANCH/compile/mac/MY_APPLICATION.app/Contents/Frameworks/Spokes3GSDK.framework/Versions/A/Spokes3GSDK
/private/var/lib/jenkins/workspace/MY_BRANCH/compile/mac/MY_APPLICATION.app/Contents/Frameworks/Spokes3GSDK.framework/Versions/A/Spokes3GSDK: replacing existing signature
/private/var/lib/jenkins/workspace/MY_BRANCH/compile/mac/MY_APPLICATION.app/Contents/Frameworks/Spokes3GSDK.framework/Versions/A/Spokes3GSDK: Permission denied

我正在使用 electron-builder 来构建和签署我的应用程序,所以我也创建了一个问题 here。不过,这个问题似乎确实是由 codesign 工具引起的。

我遇到的问题是 jenkins 在不更改所有者“root”的情况下复制 SDK 文件。因此,需要 sudo 才能使此命令生效。

我手动复制了这些文件并将它们放入我的存储库(文件的所有者已更改)并且不再需要 sudo