【发布时间】:2010-10-16 01:38:38
【问题描述】:
我想有条件地包含 iPhone 应用程序的代码,具体取决于我正在编译的 SDK 版本。在 Mac OS X 上,有一个 MAC_OS_X_VERSION_MIN_REQUIRED 预处理器宏,它被编译器设置为 MACOSX_DEPLOYMENT_TARGET 构建设置的值。 iPhone 上有类似的吗?
更新:
我在构建设置中将IPHONE_DEPLOYMENT_TARGET 设置为3.0,但Xcode 将-D__IPHONE_OS_VERSION_MIN_REQUIRED=20000 和-mmacosx-version-min=10.5 传递给GCC。第一个不应该是30000,第二个不应该是-miphoneos-version-min=3.0吗?我做错了什么?
更新 2:
看来我没有做错什么。 __IPHONE_OS_VERSION_MIN_REQUIRED 和 -miphoneos-version-min 在为设备构建时都设置正确——只有在使用 iPhone Simulator SDK 时才会出错。我认为这是模拟器 SDK 中的错误。
【问题讨论】:
-
如果您为整个项目设置这些,请注意它们可能会在目标级别被覆盖。确保将它们设置在您关心的目标上。
-
是的——我将这些设置为目标级别。在目标和/或项目级别设置什么似乎并不重要,这些标志保持不变。
标签: iphone cocoa cocoa-touch xcode