iOS SDK 中是不是有一个特殊的编译器变量,它在编译时标识配置?

Posted

技术标签:

【中文标题】iOS SDK 中是不是有一个特殊的编译器变量,它在编译时标识配置?【英文标题】:Is there a special compiler variable in iOS SDK, which identifies the configuration at compile time?iOS SDK 中是否有一个特殊的编译器变量,它在编译时标识配置? 【发布时间】:2010-11-04 21:40:01 【问题描述】:

正如主题所说。我想确定当前在编译期间在 XCode 中设置的配置(调试、发布等)

种类:

#if Configuration
#endif

有人知道吗?

【问题讨论】:

【参考方案1】:

我用

#ifdef DEBUG
 <whatever>
#endif

用于包装日志记录/调试行。我在 Cocoa Is My Girlfriend 的 Dropping NSLog in release builds 文章中看到了这个。我还没有为其他配置做过,但我怀疑将 -DDEBUG 添加到“其他 C 标志”可能会定义 DEBUG。如果是这种情况,那么您应该能够为 RELEASE 或 DISTRIBUTION 做类似的事情。

【讨论】:

【参考方案2】:

另一个方便的是:

#if __IPHONE_OS_VERSION_MAX_ALLOWED >= 40000

这与说“如果我使用适用于 ios 4.0 或更高版本的 SDK 进行构建”相同...

【讨论】:

【参考方案3】:

如果您将$(CONFIGURATION) 添加到项目构建设置中的预处理器宏中,您的 sn-p 将起作用。

【讨论】:

以上是关于iOS SDK 中是不是有一个特殊的编译器变量,它在编译时标识配置?的主要内容,如果未能解决你的问题,请参考以下文章

iOS开发ffmpeg SDK 编译和集成

检查用于在 Swift 中编译应用程序的 Xcode/iOS SDK 版本

iOS - Facebook SDK 3.1.1 构建失败 armv7

我是否需要特殊许可才能分发使用mkbundle编译的Mono可执行文件?

Xcode 未使用正确的 ios SDK 版本编译

Quickblox:如何在 iOS SDK 中访问自定义对象特殊参数(增量)?