像许多人一样,我希望Xcode使用与磁盘上文件夹结构相似的文件夹结构。然而,我无法在“编译源代码”下找到“文件夹引用”(青色文件夹)中的代码。有没有办法解决这个问题?
我甚至成功将青色文件夹添加到“编译源代码”构建阶段,但这并不会导致该文件夹的内容被添加。
如何使用文件夹引用来管理代码?
NSError+Core.h
位于这个集中的开发文件夹中。
如果我们将它从文件夹拖到“支持”组中,会发生什么...
它提供了将它们再次添加到项目中的选项?请注意,设置与第一次通过父文件夹拖动而不是文件拖动时相同... 现在源文件出现在“编译源”列表中。请注意项目中文件的奇怪重复列表。你是说它只需要一点帮助才能“找到”文件吗?如果是这样,“创建文件夹引用”正是如此。
因此,我们尝试整理并将文件从父级“支持文件”组拖回到它们应该在的文件夹中。没有任何确认、指示或通知,文件就从组中消失了,在NSError+Core文件夹中也没有任何反应。
顺便说一下,它确实从项目中删除了它们...编译源不再具有NSError+Core.m的引用。
总的来说,“文件夹引用”目前的实现似乎没有任何有用的目的……它看起来像是USS Xcode上一个六年以上的废弃物。
此外,在XCode 3中它可以正常工作。但他们似乎不喜欢这个有用的功能,所以我刚刚发现在XCode 4中已经不能再使用了。
不行。你为什么还要尝试呢?文件夹引用的作用是代表一个文件夹,而不必为文件夹中的所有单个文件创建条目。它的主要用途是将整个资源文件夹原样复制到项目中。但如果您想编译源代码,则这些源代码必须在目标的编译源代码构建阶段中被引用,这需要为每个文件创建单独的条目。
根据文件夹中的内容,使用Makefile或其他外部构建过程将文件夹中的内容构建成静态库可能更有意义。这样,您可以从Shell脚本阶段调用该构建过程,然后只需链接生成的静态库即可。或者,如果您使用此文件夹作为共享代码的方式(例如svn:externals或git子模块),则可以为该文件夹提供自己的Xcode项目,然后将该项目嵌入到共享此文件夹的任何其他项目中。
git log --name-status
命令时,文件名和位置都会显示出来。 - Dan Rosenstark
ln
命令)引用了实际上位于不同项目和不同版本控制下的文件,对吗? - Dan Rosenstark