我希望在我的iPhone应用程序中有条件代码,具体取决于配置(调试/发布/分发)。我不认为Xcode以某种方式将项目配置传达给我的代码,例如,没有宏或者这样的可用,是吗?
到目前为止我提出的最佳解决方案:在项目设置中,对于每个配置,在“其他C标志”中定义标志,如-DDEBUG,-DDISTRIBUTION等。
然后,在我的代码中,使用带有预处理器宏的条件代码,例如
#ifdef DEBUG
// debug-configuration-specific code here
#endif
#ifdef DISTRIBUTION
// distribution-configuration-specific code here
#endif
是否有不同/更好/更优雅的方式做同样的事情?
至于为什么这是必要的:我在运行时根据配置设置一些配置。例如,我正在使用HTTP API,我有一个不同的API端点URL用于调试和发布目标,我就是这样设置的。
答案 0 :(得分:0)
不!这是官方推荐的方式,我不知道其他任何方式。
答案 1 :(得分:0)
我会将这些添加到该目标的Build Settings的User-Defined部分。您可以通过转到编辑器 - >来执行此操作添加构建设置 - >在选择目标时添加用户定义的设置。
所以基本上你说的是以一种不同的方式。
编辑:嗯,我重新检查了我的项目,它们实际上是在Apple LLVM 5.0预处理中设置的,而不是用户自定义的。例如。 DEBUG = 1