我正在尝试为我的iphone应用创建一个新的单元测试构建目标。我遇到的问题是我的源代码“group”的Target Membership选项显示为灰色。
我删除了原来的“Classes”文件夹,并创建了具有实际磁盘结构的新“SourceCode”文件夹(感谢xcode)。我将其作为一个组导入,而不是文件夹。它会自动添加到我的标准构建目标的编译源中,但我无法添加它或将其拖到我的新目标中。
有什么想法吗?
alt text http://img.skitch.com/20100118-mhurmqc33ecaq4xq3y2e5k3hs4.jpg
答案 0 :(得分:1)
首先,您的来源不会进入单元测试目标。只有单元测试源本身才能进入该目标。其次,Compile Sources构建阶段无法构建组,只能构建单个文件。所以我不相信即使你的小组在目标中,它正处于正确的构建阶段,或者它的源将被编译。
取消选中要从中删除组的目标,然后选择源文件并将其拖到目标上。
答案 1 :(得分:1)
cdespinosa的回答是正确的,但不是真的正确。实际上做的来源会进入单元测试目标,但您只需要包含测试所涵盖的内容。
我明白了,问题实际上是如果一个组包含任何无法包含的文件(例如头文件),那么Info对话框不够智能,只能处理这些文件而只是锁定你。您必须手动选择每个.m文件,即使您想要在组中包含所有内容。如果你有一个庞大的项目,我会建议创建一个“智能组”(而不是xcode的普通“哑组”),它将允许你只过滤.m文件。
你为什么这么问?为什么xcode能够在导入一堆文件时解决这个问题,其中一些文件无法包含在构建中,但无法对现有文件进行相同的区分?好问题。参加xcode课程,imo。
答案 2 :(得分:0)
这在Xcode 10.2和一个相当老的项目中发生了。对我来说,原因是在目标设置中,“构建阶段”中的目标缺少“标题”项。单击+,然后选择“新标题阶段”。现在,您可以将标头正确添加到目标了。