XCode:在单元测试中找不到来自主机目标的预处理器宏

XCode:在单元测试中找不到来自主机目标的预处理器宏,xcode,Xcode,在我的目标设置中,我有预处理器宏,用于设置我在我的应用程序中使用的一些URL。我有一些集成测试来测试我们已经完成的服务器API集成。当我运行单元测试时,找不到这些预处理器宏,因此单元测试不会编译。据我所知,在主机目标中设置的预处理器宏在运行测试时可用 我假设您正在引用生成设置中定义的预处理器宏 在编译每个文件期间,仅在定义了这些生成设置的目标中使用预处理器宏生成设置。如果您有一个标准的Xcode项目,其中有一个构建应用程序的目标、一个单元测试目标和一个UI测试目标,那么每个都有自己的预处理器宏。

在我的目标设置中,我有预处理器宏,用于设置我在我的应用程序中使用的一些URL。我有一些集成测试来测试我们已经完成的服务器API集成。当我运行单元测试时,找不到这些预处理器宏,因此单元测试不会编译。据我所知,在主机目标中设置的预处理器宏在运行测试时可用


我假设您正在引用生成设置中定义的预处理器宏

在编译每个文件期间,仅在定义了这些生成设置的目标中使用预处理器宏生成设置。如果您有一个标准的Xcode项目,其中有一个构建应用程序的目标、一个单元测试目标和一个UI测试目标,那么每个都有自己的预处理器宏。但是,任何目标的生成设置都可以继承在项目级别定义的值,这是通过添加$inherited值来完成的

因此,您可以在项目的生成设置中添加需要在目标之间共享的预处理器宏,并确保在目标的生成设置中预处理器宏具有默认值$inherited Value。确保将它们添加到所有构建配置中,例如调试和发布

在左栏“生成设置”中选择项目超出顶部目标并添加共享宏:

它们将自动继承到所有目标: