0

在我的构建过程中,我的文件并不总是被复制。即使我修改它们。

它是一个正在构建的 Web 应用程序,并且未复制的文件夹是:HTML(蓝色文件夹图标)它引用了磁盘上的 HTML 文件夹。

它似乎没有复制。

我试过做一个运行脚本说 Shell: /bin/sh Script: touch -cm ${SRCROOT}

它没有任何区别。

我如何强制 xcode 始终复制每个文件?

例如一个脚本来触摸每个文件和文件夹以确保它被复制?

我在这里死胡同!

4

1 回答 1

2

蓝色文件夹代表文件夹引用,它是一种文件引用,就像您项目中对 .h 和 .m 文件的所有引用一样。

Xcode 关心的唯一修改时间是被引用项的修改时间——在本例中是文件夹。不是文件夹中的任何项目,也不是任何后代项目,也不是任何祖先文件夹(例如您的项目目录,这就是$SRCROOT所指的)。

因此,您需要专门触摸文件夹。每当您修改文件夹中的任何内容时,您都需要触摸该文件夹。

如果您在文件夹中添加或删除文件,则这不适用,因为这被视为修改文件夹本身。

如果您真的想每次都无条件地复制文件夹,您可以在 Copy Files 阶段之前创建一个 shell 脚本阶段,该阶段将文件夹作为输入并将其生成为输出,并专门接触该文件夹。之后的 Copy Files 阶段会看到文件夹已被“修改”并重新复制。

如果你这样做,预计构建时间会很长。

于 2013-04-02T15:41:27.247 回答