2016-02-29 62 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

祝你好运,玩得开心