2014-09-26 52 views
3

我有一个Qt是工作的罚款,直到在协同设计的最新更新,但现在看门人抛出这个错误(5.3.1)应用:代码有没有资源,但签名表明它们必须存在

code has no resources but signature indicates they must be present

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

部署脚本构建应用程序包,调用macdeploy,复制所有缺少的qt info.plist文件,然后它调用编码:

codesign --force --deep --verify --verbose --no-legacy-signing --sign "signing authority string" /path/to/.app

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

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

有没有人遇到此错误?

回答

1

我有同样的问题,你有。这是您需要做的以解决问题:

  1. 您需要在调用macdeployqt实用程序后更正框架结构。所需的结构可以在这里找到:Anatomy of Framework Bundles
  2. 某些Qt框架包含错误的CFBundleExecutable信息。可执行文件名以_debug结尾。 (值得注意的是,这些框架:QtPrintSupport,QtPositioning,QtQml和QtQuick)

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

+0

我检查的结构,发现在任何框架没有_debug可执行文件 - 但你答案确实指向了我正确的方向,事实证明我有一个过时的闪光框架。 – w00tnes 2015-01-23 20:03:37

相关问题