目标会员资格呈灰色(已禁用)

问题描述 投票:0回答:4

我正在尝试为我的 iPhone 应用程序创建一个新的单元测试构建目标。我遇到的问题是我的源代码“组”的目标成员资格选项呈灰色。

我确实删除了原来的“Classes”文件夹,并创建了具有实际磁盘结构的新“SourceCode”文件夹(感谢 xcode)。我将其作为一个组而不是文件夹导入。它自动添加到我的标准构建目标的编译源中,但我无法将其添加或拖动到我的新目标中。

有什么想法吗?

替代文本http://img.skitch.com/20100118-mhurmqc33ecaq4xq3y2e5k3hs4.jpg

iphone objective-c xcode target
4个回答
9
投票

这发生在我的 Xcode 10.2 和一个相当旧的项目上。对我来说,原因是在目标设置中,构建阶段中的目标缺少“标题”项。单击+,然后选择“新标题阶段”。现在您可以正确地将标头添加到目标中。


1
投票

首先,您的源代码不会进入单元测试目标。只有单元测试源本身才应该进入该目标。其次,编译源构建阶段无法构建组,只能构建单个文件。因此,我不相信即使您的团队处于目标中,它也处于正确的构建阶段或其源代码将被编译。

取消选中目标以从中删除组,然后选择源文件并将它们拖到目标上。


1
投票

cdespinosa 的答案是在正确的轨道上,但并不完全正确。源实际上do进入单元测试目标,但您只需要包含测试覆盖的源。

我发现了,问题实际上是,如果一个组包含任何无法包含的文件(例如头文件),则“信息”对话框不够智能,无法仅处理这些文件,并且会将您锁定。即使您想要包含组中的所有内容,也必须手动选择每个 .m 文件。如果你有一个巨大的项目,我建议创建一个“智能组”(而不是 xcode 的正常“哑组”),这将让你只过滤 .m 文件。

你为什么这么问?为什么当你导入一堆文件时,xcode 能够弄清楚这一点,其中一些文件无法包含在构建中,但无法对现有文件做出相同的区分?好问题。在我看来,xcode 课程的标准。


0
投票

对我来说,音频文件会发生这种情况,甚至在导入时选择目标也会被忽略。我可以通过在项目的

Copy Bundle Resources
部分添加
Build Phases
来解决此问题。

  1. 单击您的顶级应用程序
  2. 转到
    Build Phases
    选项卡/部分
  3. 确保您看到一个名为
    Copy Bundle Resources
  4. 的群组
  5. 如果您没有看到该组,请使用
    +
    添加它,如下所示
  6. 不,您可以将文件直接拖动到此
    Copy Bundle Resources
    组中从文件资源管理器选项卡中选择目标。

© www.soinside.com 2019 - 2024. All rights reserved.