xcode - Xcode 可以使用 "Folder References"作为代码吗?

标签 xcode xcode4

像许多人一样,我希望 Xcode 使用一个文件夹结构来反射(reflect)磁盘上的文件夹结构。但是,我无法将“文件夹引用”(青色文件夹)中的代码显示在“编译源”下的项目目标中。有没有办法做到这一点?

我什至设法将青色文件夹添加到“编译源”构建阶段,但这不会导致添加该文件夹的内容。

如何将文件夹引用用于代码?

最佳答案

简单(而且非常不幸)的答案是 Xcode 下的文件夹引用仍然损坏和错误,它们不起作用。于 2017 年 3 月 4 日在 Xcode 8.2.1 中测试

下面是一个示例探索,因此您不必浪费时间复制 Xcode 故障。

(顺便说一下,在我制作这个例子时,有问题的 Xcode 崩溃了两次)

根据问题,总体希望是在 Xcode 中使用文件夹引用,以便 Xcode 拾取文件夹中的所有文件并将它们包含在项目中,并且通过代理将根据文件夹的任何 Finder 或 Xcode 更改自动更新。这样,当这些文件夹发生变化时,所有利用同一组公共(public)源代码文件的 50 个项目都不必单独更新。下面探讨如何在 Xcode 中打破这一点(在 8.2.1 中测试)

示例:ViewController.m包括NSError+Core.h所以我们希望将文件夹“NSError+Core”中的所有内容添加到项目中。

enter image description here
NSError+Core.h在这个位于中心的开发文件夹中

enter image description here

将 Finder 中的源文件夹拖到“支持”组下的项目中(什么都不做,简单拖)

enter image description here

Xcode 尽职尽责地提供将拖动添加到目标,请注意选择“创建文件夹引用”,而不是“创建组引用”。另请注意,很明显 Xcode 正在提供并被告知将此文件夹和文件添加到目标中。

enter image description here

尽管一切看起来都应该可以工作,但编译器不会拾取头文件,并且重新编译会产生相同的结果......找不到头文件。放弃 DerivedData 也无济于事。

enter image description here

所以仔细检查一下,我们检查了项目下的“编译源”,果然,源文件也不在那里。请记住,Xcode 将其“添加”到目标...

enter image description here

那么如果我们将它从文件夹拖到“支持”组中...

enter image description here

它提供再次将它们添加到项目中?!请注意,这些设置与他们第一次通过父文件夹拖动而不是文件进入药物时相同...

enter image description here

现在源文件显示在“编译源”列表中。请注意项目中文件的奇怪双重列表。

(Xcode 在截屏后不久就崩溃了)

enter image description here

当然,编译器现在可以找到头文件,并且在导入时会清除错误,因为它应该在我们第一次将其放入时...

enter image description here

它只是需要一点帮助来“找到”文件吗?如果是这样,“创建文件夹引用”究竟做了什么?

因此,我们尝试整理并将文件从父“支持文件”组拖回其合法文件夹。如果没有任何确认、指示、通知,文件就会从组中消失,并且 NSError+Core 文件夹中什么也没有发生。

enter image description here

哦,顺便说一句,它确实也将它们从项目中删除了……编译源不再有 NSError+Core.m 引用。

enter image description here

总而言之,到目前为止实现的“文件夹引用”似乎没有任何有用的目的......它似乎是 USS Xcode 上的一个 6 岁以上的历史。

关于xcode - Xcode 可以使用 "Folder References"作为代码吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7557041/

相关文章:

iphone - 为什么重力比例在 box2d 中不起作用

ios - xcode 的 HTTP 发布示例

xcode - 是否可以在构建 Xcode 项目时转储 AST?

objective-c - XCode/Instruments 未显示内存泄漏

iphone - 有没有一种在 iOS 上使用 UIAutomation 来编写网络相关测试脚本的好方法

iOS 应用测试静态库初始化

iphone - 如何在 NSEnumerator 迭代中获取当前对象的索引?

iphone - Xcode 4.2。问题: Standard (armv7)

iphone - 如何在 Interface Builder 中添加自定义对象?

objective-c - 多个@protocols 的奇怪或错误警告