我有一个有两个目标的应用程序,我想为不同的目标定义一个具有不同值的宏。我该怎么做?两者都是发布版本
问问题
1238 次
2 回答
5
每个目标在 Xcode 中都有自己的“构建设置”,您可以在其中设置“预处理”类别(查找定义 'DEBUG=1' 的位置),您可以在其中设置目标唯一的自定义宏。
于 2012-12-05T07:44:45.457 回答
0
这样做
#define CONSOLE_DEBUG 1 // Comment this line to undefine
#ifdef CONSOLE_DEBUG
#define SMLog(format, ...) NSLog((@"%s (%d) " format), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#define SMLog(format, ...)
#endif
当您定义 CONSOLE_DEBUG 时,SMLOG 将使用 Pretty 功能打印日志。否则,如果您在上面注释,那么它只会打印一个简单的 NSLOG。
您可以简单地检查目标宏而不是 CONSOLE_DEBUG。
编辑:
在我的一个应用程序中,我需要提供不同的 URL,所以使用不同的目标进行如下操作
#ifdef APP_LIVE
#define strDefaultURL <Some URL String>
#define strIndexPlistURL <Some URL String>
#elif APP_DEV
#define strDefaultURL <Some URL String>
#define strIndexPlistURL <Some URL String>
#else
#define strDefaultURL <Some URL String>
#define strIndexPlistURL <Some URL String>
#endif
其中 APP_LIVE 和 APP_DEV 在各自的目标中定义。
于 2012-12-05T07:46:38.907 回答