“复制捆绑资源”和“复制文件”->“资源”之间有什么区别

时间:2018-09-03 16:04:03

标签: xcode macos resources

Xcode具有特殊的 Build Phase Copy Bundle Resources 和更通用的 Copy Files 。当我将后者的目的地设置为资源时,我无法发现任何行为差异,在两种情况下,列出的文件都被复制到Contents/Resources中。

This answer说,复制文件功能更强大并且可以在其他位置执行,但我仍然不明白为什么应该使用复制捆绑资源强>。它有我想念的特别之处吗?

1 个答案:

答案 0 :(得分:0)

副本捆绑资源阶段确实做了一些其他工作:

  • .iconset文件夹中的图像(通常用于多种分辨率)被转换为单个.icns文件(与iconutil -c icns命令一样)。

  • 属性列表,并根据PLIST_FILE_OUTPUT_FORMAT构建设置进行转换。

  • .strings文件根据STRINGS_FILE_OUTPUT_ENCODING构建设置进行转换。

也许其他文件格式还有更多的转换...这些只是我通过反复试验发现的。

PS:通过将PLIST_FILE_OUTPUT_FORMAT设置为STRINGS_FILE_OUTPUT_ENCODING,可以在复制文件阶段强制执行APPLY_RULES_IN_COPY_FILEStrue。但这不适用于图标集转换。