首页 文章

代码没有资源,但签名表明它们必须存在

提问于
浏览
3

我有一个Qt(5.3.1)应用程序,直到最新的codesign更新工作正常,但现在看门人抛出此错误:

代码没有资源,但签名表明它们必须存在

(我用来验证应用程序包的命令是:spctl -at exec -vv path / to / .app)

部署脚本构建应用程序包,调用macdeploy,复制所有丢失的qt info.plist文件,然后调用codesign:

codesign --force --deep --verify --verbose --no-legacy-signing --sign“签署权限字符串”/path/to/.app

由于过时的资源包络错误,添加了--no-legacy-signing . 自从它最后一次工作以来没有其他任何改变 .

构建和协同设计在OS X Yosemite上完成,安装了Xcode 6.0.1 . 这不是最新的优胜美地版本,我不确定它实际上是哪一个(我没有设置机器,但我确实看到更新中心正在提供升级到开发者预览8) .

有没有人遇到过这个错误?

1 回答

  • 1

    我遇到了同样的问题 . 这是您需要做的事情来解决问题:

    • 调用macdeployqt实用程序后,需要更正Framework结构 . 可在此处找到所需的结构:Anatomy of Framework Bundles

    • 某些Qt框架包含错误的CFBundleExecutable信息 . 可执行文件名以 _debug 结尾 . (特别是这些框架:QtPrintSupport,QtPositioning,QtQml和QtQuick)

    你可以在这里找到我的完整解决方案:Unable to sign app bundle using Qt frameworks on OS X 10.10

相关问题