我想在我的应用程序中添加一个新的#define宏,但仅适用于某些方案,例如beta方案.做这个的最好方式是什么?我知道当你在测试中运行应用程序时(例如在模拟器中),它会添加一个DEBUG = 1宏,但我无法弄清楚如何添加更多的宏.
解决方法
最好的方法是使用
Xcode configuration files.
添加几个名为Beta.xcconfig和Distribution.xccconfig(或类似的东西)的文件,并为每种构建添加宏.
Beta.xcconfig:
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BETA=1
Distribution.xcconfig.
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) BETA=0
然后,您需要将每个文件映射到构建样式.进入顶级项目,项目设置(正上方目标),然后单击“信息”部分:
在您的代码中,您可以像往常一样使用宏:
#if BETA // do something only in beta #endif
如果不是分配值而是定义宏,则应使用#ifdef.
如果您使用多个宏,则可能需要在构建日志中检查所有内容是否按预期工作: