你能在Xcode中创建一个"超集"目标吗?

thr*_*sty 6 xcode dependencies target superset

出于单元测试的目的,我想在Xcode中创建一个包含所有发布应用程序文件的iPhone项目目标,以及一些包含对UI单元测试有用的代码的附加文件.

我可以通过复制原始应用程序目标来做到这一点; 但是,问题是每次我向应用目标添加新的源文件时,我还需要将它添加到UnitTestUI目标.这并不是什么大问题,只是不方便总是记得向两个目标添加文件.

有没有办法设置一个依赖项,以便添加到原始应用程序目标的每个文件也自动添加单元测试目标?

Jas*_*oco 4

在 Xcode 中,您可以创建相互直接依赖的目标。添加新目标时,在“其他”类别中,有许多非产品构建目标可以帮助解决此问题,具体取决于您的设置的简单或复杂程度。创建直接依赖于主项目目标来运行单元测试的特定目标非常常见,Apple 和许多博客上都有记录。

\n\n

然而,在您的情况下,您可能需要对新的 UI 测试目标进行大量调整,但一旦设置完毕,维护起来就会非常容易。由于不知道您的具体情况,不可能给您逐步的答案,但以下是一般准则(根据您的情况进行调整):

\n\n
    \n
  1. 创建原始目标的副本,因为大多数设置都是相同的。
  2. \n
  3. 选择新目标并打开检查器 (\xe2\x8c\x98I)
  4. \n
  5. “直接依赖项”下,单击“+”按钮并选择您的主要目标。
  6. \n
  7. 根据需要设置新目标,并使用额外的文档/源/规则或其他内容。
  8. \n
\n\n

如果您喜欢拖放内容,您还可以将原始目标(从“目标”显示三角形下方)拖到新目标中,它将自动设置依赖关系。

\n\n

现在,选择您的测试目标作为活动目标,它将始终按照这些规则进行构建。另外,如果您在主目标中添加/更改源,则在构建测试目标时它将正确重建...无需记住也将源文件添加到测试目标。我建议花一些时间阅读各种 Xcode 文档并使用大量可用的目标模板……从长远来看,这确实有助于提高产品的使用效率。如果您知道如何操作,即使对于非常大或复杂的项目,也可以在 Xcode 中相当轻松地完成许多漂亮的事情。

\n