2016-02-29 63 views
2

的Qt4應用與束結構那樣:OS X協同設計嵌套代碼被修改或無效

QtCore.framework/ 
    QtCore -> Versions/Current/QtCore 
    Resources -> Versions/Current/Resources 
    Versions/ 
     4/ 
      QtCore 
      Resources/ 
       Info.plist 
     Current -> 4 

codesign --verbose --force --deep --sign "Certificate Name" Test.app 

結果:Test.app:簽署束中的Mach-O薄(x86_64的)[...] 「證書名稱「是Comodo代碼簽名證書

codesign --verify -vvvv Test.app 
Test.app: nested code is modified or invalid 

codesign --verbose --verify Test.app/Contents/Frameworks/QtCore.framework 
Test.app/Contents/Frameworks/QtCore.framework: valid on disk 
Test.app/Contents/Frameworks/QtCore.framework: does not satisfy its designated Requirement 

ps我試圖手動簽署所有框架/ dylib沒有選項 - 深和相同的結果。

回答

0

創建一個名爲A的內部版本與4相同內容的文件夾,更改符號鏈接的文件夾特別是電流 - >一個

嘗試現在簽署和可能簽署。但問題可能與二進制,它會使用一個不同的框架比A,你可以檢查與otool -L(小心L和小l)

要更改它,您需要使用install_name_tool

祝你好運,玩得開心