Mac - 开发者ID - 代码签名 - 什么签名?

时间:2013-02-21 05:42:13

标签: xcode bundle code-signing

我正在使用Xcode 4.6,10.8.2。

当我在Xcode中对我的Cocoa应用程序进行编码时,作为导出过程的一部分,实际上是什么进行了编码?它只是可执行文件吗?

签名后,我可以安全地修改bundle的Resources文件夹中的文件吗?

感谢。

[编辑]

好的,多亏了下面的建议,这就是我正在做的......

向项目添加 ResourceRules.plist (如有必要,每个目标一个)

使用“Omit”键值对列表填充ResourceRules.plist,每个文件或目录对应一个您不想进行代码签名的键值对。从在线某处复制plist结构。

在Target的Build Settings中,在“Code Signing Resource Rules Path”下,添加字符串“ResourceRules.plist”(不含引号)

选择“产品” - > “归档”

在管理器窗口中,按“分发”

选择“导出开发者ID签名的应用程序”

使用您的开发者ID进行代码签名

在Finder中打开生成的应用程序包,根据需要修改文件

在终端中测试应用程序:

codesign -vv myApp

(这将告诉您是否缺少任何已编码的文件,或已添加。)

1 个答案:

答案 0 :(得分:4)

  

它只是可执行文件吗?

实际上,可执行文件被修改为包含代码签名信息(哈希值和可能的权利文件),但代码签名目录(_CodeSignature)也会添加到应用程序包中,其中包含您所有文件的哈希值应用

  

签名后,我可以安全地修改bundle的Resources文件夹中的文件吗?

没有。 (嗯,是的,如果你之后再次对它进行协调处理。)

或者,实际上,如果您使用描述哪些文件用于创建代码签名的资源文件,那么您可以排除某些文件,然后您可以稍后修改它们并仍然具有有效的代码签名。< / p>