如何在XCode中使测试目标/方案将编译器标志转发到主要目标?

时间:2018-06-28 08:32:33

标签: swift xcode target compiler-flags

我们正在开发提供给客户的Swift库。为了加快对该库的测试,我们决定仅替换 our 测试中的一些代码:

Foo.swift

#if SPEEDYTEST
    workaround()
#else
    realCode()
#endif

FooTest.swift

#if SPEEDYTEST
    fastTest()
#else
    realTest()
#endif

请注意,此处不能使用DEBUG,因为我们将主模块的调试版本提供给客户端以进行 测试,而客户端应始终使用realCode()。 (客户未获得我们的测试模块。)

问题是:我告诉XCode在测试目标上设置SPEEDYTEST,但不会将其传播到主要目标的构建作业中。也就是说,执行了fastTest()realCode(),这不是我想要的。

重复主要目标(多个,因为iOS和macOS已经有两个)的简短操作-我真的不想做,因为保持它们的同步是PITA-我怎么能得到那个编译器标记转发到主要目标/模块了?

0 个答案:

没有答案