我想向我的应用程序添加一个新的#define宏,但仅适用于某些方案,例如beta方案。做这个的最好方式是什么?我知道当您在测试中(即在模拟器中)运行应用程序时,它会添加DEBUG = 1宏,但我不知道如何添加更多宏。

最佳答案

最好的方法是使用Xcode configuration files

添加几个名为Beta.xcconfigDistribution.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

如果您使用多个宏,则可能需要检查构建日志中的所有内容是否按预期工作:

关于ios - 为某些方案将宏BETA = 1添加到Xcode?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/13540438/

10-16 13:43