XCode中添加到目标和添加到项目之间的区别

Posted

技术标签:

【中文标题】XCode中添加到目标和添加到项目之间的区别【英文标题】:Difference between add to target & add to project in XCode 【发布时间】:2010-10-18 12:52:38 【问题描述】:

我正在尝试在此页面上为单元测试目的使用 Google Toolbox for mac http://code.google.com/p/google-toolbox-for-mac/wiki/iPhoneUnitTesting 表示将 blahblah.m 文件添加到您的目标并将 blahblah.m 文件添加到您的项目。

有什么区别,我应该如何添加到目标...

【问题讨论】:

在我看来,GHUnit (github.com/gabriel/gh-unit) 是一种比 google 工具箱更容易测试的方法,(而且绝对比 OCUnit 更容易)使用.. 【参考方案1】:

为了“添加到项目”,您只需将文件拖到 Xcodes 侧边栏中。最终它应该是这样的:

“添加到目标”意味着该文件必须位于 LogicTests-target 的“编译源”组中。

您还可以通过查看“详细信息”面板中的右侧复选框来检查文件是否已添加到当前活动的目标:

【讨论】:

【参考方案2】:

将文件拖入项目后,对文件执行“获取信息”。您将看到每个目标的复选框。只需选中复选框,或确保它已被选中,以确保它已添加到您的目标中。

根据文件类型向项目中添加内容通常会自动将其添加到所有有意义的目标中。

将文件添加到目标会告诉构建系统该目标依赖于该文件,并且该文件应该以某种方式合并到目标构建中。在资源的情况下,它们只是被复制到应用程序包中。对于 .m 文件,它们会被编译和链接。

我不熟悉 Google Toolbox,但是对于单元测试,您可能希望将您的单元测试 .m 文件添加到您的单元测试运行目标中,而不是您的实际应用程序目标中,这样它们就不会被编译进入您的应用程序。

【讨论】:

以上是关于XCode中添加到目标和添加到项目之间的区别的主要内容,如果未能解决你的问题,请参考以下文章

Xcode 4:如何将静态库目标依赖添加到项目中

将目标添加到 iOS/macOS 多平台项目 (Xcode 12)

IOS如何在目标c中将AFNetworking添加到我的xcode项目中

我有一个Xcode静态库项目,如何添加测试目标,以便我可以在那里运行它? (而不是在链接到它的项目中。)

在 Visual Studio 中添加引用和将 Nuget 包添加到项目之间的区别

Xcode 4:为啥我不能将头文件添加到单元测试目标?