我有一个OSX应用程序,在bundle的MacOS
目录中,我有一个可执行文件和一堆dylib。当然,Info.plist
的{{1}}条目指向可执行文件。当我尝试签名时,CFBundleExecutable
抱怨(截至10.9)我的dylib没有签名,这是有道理的。所以我签了所有的dylibs,我认为这会让我现在签署主要的可执行文件。
问题是我的codesign
目录中实际上还有几个数据文件。该应用程序是一个跨平台的Qt应用程序,数据文件是相对于主可执行文件找到的本地化文件。 MacOS
抱怨说,在数据文件签名之前,它不想签署我的主要可执行文件。
这只是一个根本错误的事情 - 将任何非机械的东西放入codesign
?签署这些数据文件甚至是合理的事情 - 比如Windows上的.cat文件?显然,我不希望MacOS
随意地将摘要哈希打到我的数据文件的末尾。
答案 0 :(得分:1)
是的,这些数据文件应该进入Resources
文件夹。
MacOS (必填)
包含应用程序的独立可执行代码。通常,此目录仅包含一个二进制文件 应用程序的主要入口点和静态链接的代码。 但是,您可以放置其他独立的可执行文件(例如 命令行工具)也在这个目录中。
<强>资源强>
包含所有应用程序的资源文件。此目录的此内容进一步组织以区分 本地化和非本地化资源之间。欲获得更多信息 关于此目录的结构,请参阅“The Resources Directory”
对数据文件进行协调设置不会改变它们;它们只是记录在_CodeSignature/CodeResources
文件中。