osx 10.9.5代码签名V2 - 签署框架:bundle格式不明确

问题描述 投票:10回答:3

我试图在osx mavericks 10.9.5上使用格式v2对应用程序包进行编码。在之前的测试中,10.9.5(13F12)的签名一切顺利,所有框架都可以无错误地签名。现在,在13F34,框架无法再签名了。当我尝试用第一个框架签名时:

codesign -f -v -s "Developer ID Application: MY AG" "My.app/Contents/Frameworks/4DJavaScript.framework"  

然后发生错误:

My.app/Contents/Frameworks/4DJavaScript.framework: bundle format is ambiguous (could be app or framework)  

当我尝试编写签名框架的唯一版本(A)时,签名成功,但在签署主应用程序时,框架上的错误重新出现。在查看框架的info.plist文件时,(在我看来)是类型集的正确条目:

Bundle OS Type code FMWK  

有关如何在10.9.5-13F34上正确编码签名框架的任何建议? 谢谢,彼得

macos frameworks codesign osx-gatekeeper
3个回答
7
投票

在对这个问题发表赏金之后,我立即想出来了。直接签署框架的当前版本可以解决问题:

codesign -f -v -s "Developer ID Application: My Dev ID" MyFramework.framework/Versions/Current

2
投票

你的回答对我没用,所以我发帖了。

如果您之前使用cp -r命令复制了框架,则会出现此问题。使用cp -a这个问题不会出现。这种情况正在发生,因为在这两个选项中解析符号链接的方式不同。


0
投票

我使用的是电子打包器,需要使用--no-deref-symlinks标志和bam为我工作

© www.soinside.com 2019 - 2024. All rights reserved.