【问题标题】:What's the difference between "Copy Bundle Resources" and "Copy Files" -> "Resources"“复制捆绑资源”和“复制文件”->“资源”有什么区别
【发布时间】:2019-02-08 17:04:53
【问题描述】:
Xcode 具有特殊的Build Phase Copy Bundle Resources 以及更通用的Copy Files。当我将后者的 Destination 设置为 Resources 时,我无法发现任何行为差异,在这两种情况下,列出的文件都会复制到 Contents/Resources。 p>
This answer 说 Copy Files 更强大,也可以在其他位置执行,但我仍然不明白为什么应该使用 Copy Bundle Resources一点也不。它会做一些我错过的特别事情吗?
【问题讨论】:
标签:
xcode
macos
resources
【解决方案1】:
复制捆绑资源阶段确实做了一些额外的工作:
.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_FILES 设置为true 在复制文件 阶段强制执行。但这不适用于图标集转换。