TARGET_IPHONE_SIMULATOR和TARGET_OS_IPHONE。这两个宏定义在TargetConditionals.h头文件
TARGET_IPHONE_SIMULATOR 判断是模拟器还是真机
TARGET_OS_IPHONE判断是os系统还是mac系统
检查系统版本
#ifdef _USE_OS_3_OR_LATER
#import <MapKit/MapKit.h>
#endif
检查运行程序得最小版本
#if __IPONE_OS_VERSION_MIN_REQUIRED<30000
Pre-3.0 code
#else
3.0 code
#endif
OS版本得值
#define __IPHONE_2_0 20000
#define __IPHONE_2_1 20100
#define __IPHONE_2_2 20200
#define __IPHONE_3_0 30000
#define __IPHONE_3_1 30100
#define __IPHONE_3_2 30200
#define __IPHONE_4_0 40000
#define __IPHONE_4_1 40100
#define __IPHONE_4_2 40200
#define __IPHONE_4_3 40300
#define __IPHONE_5_0 50000
#define __IPHONE_5_1 50100
#define __IPHONE_NA 99999 /* not available */