Mac - 开发者ID - 代码签名 - 签名哪些内容?

3
我正在使用Xcode 4.6,10.8.2。
当我从Xcode内部对我的Cocoa应用程序进行codesign,作为导出过程的一部分时,实际上会被codesign的是什么?只有可执行文件吗?
签名后,我可以安全地修改包中资源文件夹中的文件吗?
谢谢。
[编辑]
好的,根据下面的建议,这就是我正在做的事情...
将一个ResourceRules.plist添加到项目中(如果需要,为每个Target添加一个)
在ResourceRules.plist中填入一个“Omit”键值对列表,对于每个您不想代码签名的文件或目录,填写一个“Omit”键值对。从在线某个地方复制plist结构。
在目标的Build Settings中,在“Code Signing Resource Rules Path”下添加字符串“ResourceRules.plist”(不带引号)
选择“Product”->“Archive”
在组织器窗口中,按“Distribute”
选择“Export Developer ID-signed application”。
使用您的开发人员ID进行代码签名
在Finder中打开生成的应用程序包,根据需要修改文件
在终端中测试应用程序:
codesign -vv myApp

(这将告诉您是否缺少任何共同签名文件或已添加。)
1个回答

4

只有可执行文件需要签名吗?

实际上,可执行文件会被修改以包含代码签名信息(哈希值和可能的授权文件),但是还会添加一个代码签名目录(_CodeSignature)到应用程序捆绑包中,其中包含您应用程序中所有文件的哈希值。

签名后,我可以安全地修改捆绑包资源文件夹内的文件吗?

不可以。(好吧,如果之后再次进行代码签名的话,就可以。)

或者,实际上,如果您使用一个资源文件,描述了要用于创建代码签名的哪些文件,则可以排除某些文件,然后稍后对它们进行修改,并仍然具有有效的代码签名。


您还可以设置自定义资源文件,描述要包含/排除哪些资源在代码签名中。如果您排除了某个资源,则可以修改它而不会破坏代码签名。 - Lily Ballard
谢谢大家的帮助。Kevin,你能否解释一下这个自定义资源文件吗?或者给我一个苹果支持网址? - Womble

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接