Xcode轻松将多个文件添加到目标中

34

我在 Xcode 4.2 中创建了一个新的单元测试目标,显然我需要将某些应用程序文件引入该目标。但是有很多文件,逐个点击.m文件,然后点击TargetMembership并选中新目标框似乎很麻烦。

在 Xcode 中有没有更简单的方法可以做到这一点,我是否遗漏了什么?

谢谢

7个回答

62

我觉得我应该用一个更好的答案回复这个问题。虽然通过Xcode主界面筛选.m文件并使用CMD-A全选仍然很困难,因为它也会选择文件夹,所以您无法将它们添加到目标中。

但是,如果您转到“项目设置”>“构建阶段”>“编译源文件”,您可以单击“+”按钮,筛选.m文件,然后可以使用CMD-A在此处全选所有文件。

这很有效。

截图


2
真是一团糟!感谢分享 - 我相信在Xcode 3中使用导航器过滤文件类型非常容易。 - Jay
1
@bandejapaisa 天啊,这是中奖的答案。 - Sentry.co
1
@bandejapaisa 如果您有多个库,则折叠树节点将取消选择它们。 - Sentry.co

7

如果所有文件都在同一个目录中,请从项目中删除该目录(仅删除引用),然后重新添加。重新添加时,Xcode会询问您要将文件添加到哪些目标中。


2
在“项目编辑器”(cmd-1)中选择所有的.m文件,显示“实用程序视图”(opt-cmd-0),并在“目标成员资格”中单击新目标。注意不要选择不属于项目的文件,如.h文件。

我说很简单,但是在很多目录中有很多文件......在项目资源管理器中选择所有的 .m 文件很繁琐。 - bandejapaisa

1
如果您复制一个现有的目标而不是从头创建一个新目标,那么所有现有文件也将成为新(复制的)目标的成员。

1
创建一个静态或动态库,使可执行文件都可以链接到这个库。

嗯,我想这个主意还不错。 - bandejapaisa

0
Xcode 10 中,
您还可以在项目导航器中选择多个文件,然后在“检查器”右侧窗格中修改目标成员资格:

Target Membership


我在 Xcode 13.2.1 中哪里可以找到 Target 成员资格? - sejn
@sejn ,它是 Xcode 的检查器面板的一部分。如果默认情况下未打开,则请查看 Xcode 的右上角。 请注意,只有在项目导航器中选择一个或多个文件时才会出现。 - Dima G

0

在2016年,你现在可以同时使用AppTest和LogicTest目标,因此你不必再纠结于目标设置。

你不需要向AppTest目标添加任何文件,因为它将可以访问所有主要目标文件,并将纯逻辑测试放入LogicTest。


你能提供任何文档和/或教程吗?我并没有完全理解你的回答,但我很想更多地了解它。 - Otávio
1
在线阅读有关应用程序与逻辑测试的文章(逻辑测试更小、更快),但是当您在Xcode中添加新的测试目标时,默认情况下会将主目标用作宿主应用程序。这意味着您的测试可以访问主目标包中的所有内容(代码、资源),因此您可以导入任何类(甚至视图控制器)-而无需在测试目标中显式包含它们。因此,无需手动单击每个.m文件并将其包含在应用程序测试目标中。 - Kreeble Song

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接