Qt4应用程序,其捆绑结构如下:
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 thin的签名包(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
P.S。我试图手动签署所有框架/ dylib,没有选项--deep和相同的结果。
答案 0 :(得分:0)
在内容版本为4的内部版本中创建一个名为A的文件夹,将符号链接更改为A文件夹,特别是current-> A
现在尝试签名,它可能会签名。但问题可能是二进制,它会使用不同于A的框架,你可以用otool -L检查(注意大L而不是小l)
要更改它,您需要使用install_name_tool
祝你好运,玩得开心