"Copy Bundle Resources" 和 "Copy Files" 有什么区别 -> "Resources"

What's the difference between "Copy Bundle Resources" and "Copy Files" -> "Resources"

Xcode 有特殊的 Build Phase Copy Bundle Resources 以及更通用的 Copy文件。当我将后者的 Destination 设置为 Resources 时,我无法发现任何行为差异,列出的文件被复制到 Contents/Resources 在这两种情况下。

This answerCopy Files 更强大,也可以做其他位置,但我仍然不明白为什么要使用 [=21] =]完全复制捆绑资源。它有什么我错过的特别之处吗?

Copy Bundle Resources 阶段确实做了一些额外的工作:

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

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

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

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

PS:PLIST_FILE_OUTPUT_FORMATSTRINGS_FILE_OUTPUT_ENCODING 可以通过将 APPLY_RULES_IN_COPY_FILES 设置为 true。但这不适用于 iconset 转换。