【发布时间】:2014-03-06 17:23:52
【问题描述】:
您好,在我的一个应用程序中,我必须支持该应用程序的 IOS6 和 IOS7。为了实现这一点,我首先必须知道当前的设备版本。为此,我定义了一个宏,并尝试使用该宏作为参考来完成我的任务。我写的代码如下。
在 .h 文件中,我将 IPhoneOSVersion 定义为 50000。
此代码在 .m 文件中
if([[[UIDevice currentDevice] systemVersion] isEqualToString:@"7.0"])
{
#undef IPhoneOSVersion
#define IPhoneOSVersion 70000
NSLog(@"_IPHONE_OS_VERSION_MIN_REQUIRED after is %d",IPhoneOSVersion);
}
else
{
#undef IPhoneOSVersion
#define IPhoneOSVersion 60000
NSLog(@"_IPHONE_OS_VERSION_MIN_REQUIRED after is %d",IPhoneOSVersion);
}
NSLog(@"_IPHONE_OS_VERSION_MIN_REQUIRED after is %d",IPhoneOSVersion);
如果我在 IOS7 中运行此代码。在控制台中,数据必须在 70000 之后打印成这样知道为什么宏值会这样变化。
【问题讨论】:
标签: ios preprocessor