【问题标题】:Code signing a framework fails with "Permission denied" error代码签名框架失败,出现“权限被拒绝”错误
【发布时间】:2020-12-25 01:11:47
【问题描述】:

我最近将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 工具引起的。

【问题讨论】:

  • 授予文件写入权限
  • sudo chmod 777 filepath
  • 谢谢@tpikachu,我会试试这个,但你认为更改权限安全吗?我的意思是我只是在使用这个 SDK,不确定我是否应该弄乱它的文件。
  • 确定是安全的。 777 表示授予所有人读写权限。
  • chmod u=wx 文件(给所有者 wx 权限)

标签: macos electron electron-builder codesign


【解决方案1】:

对我来说,问题是 jenkins 正在复制 SDK 文件而不更改所有者“root”。因此,需要sudo 才能使此命令正常工作。

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-03-25
    • 2022-06-23
    • 1970-01-01
    • 1970-01-01
    • 2016-07-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多