Xcode 没有复制我文件夹中的文件

Posted

技术标签:

【中文标题】Xcode 没有复制我文件夹中的文件【英文标题】:Xcode isn't copying the files in my folder 【发布时间】:2013-01-17 16:40:31 【问题描述】:

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

它是一个正在构建的网络应用程序,不复制的文件夹是: html(蓝色文件夹图标)它引用磁盘上的 HTML 文件夹。

它似乎没有复制。

我试过做一个运行脚本说 外壳:/bin/sh 脚本: 触摸-cm $SRCROOT

这没什么区别。

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

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

我这里是死胡同!

【问题讨论】:

【参考方案1】:

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

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

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

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

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

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

【讨论】:

以上是关于Xcode 没有复制我文件夹中的文件的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 组和文件:如何将文件从项目 A 复制到项目 B 而不发疯?

使用命令行工具从 Xcode 复制文件

Xcode iOS Build - 仅将特定子文件夹复制为捆绑资源

Xcode中构建规则中的“复制到目标”是啥?

子目录中的资源文件被复制到 app bundle 的根目录

Xcode:如何测试主包 .plist 文件内容?