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 中是不是有一个特殊的编译器变量,它在编译时标识配置?的主要内容,如果未能解决你的问题,请参考以下文章
检查用于在 Swift 中编译应用程序的 Xcode/iOS SDK 版本
iOS - Facebook SDK 3.1.1 构建失败 armv7