2014-09-26 26 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

相關問題