http://www.cocoachina.com/bbs/read.php?tid-137317-page-1.html
#ifndef VIP_One_4_0_BTDefine_h
#define VIP_One_4_0_BTDefine_h
#pragma mark - 设备类型
#define kiPhone4 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
#define kiPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
#define kiPhone6 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(750, 1334), [[UIScreen mainScreen] currentMode].size) : NO)
#define kiPhone6Plus ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(1242, 2208), [[UIScreen mainScreen] currentMode].size) : NO)
#pragma mark - 设备信息
#define kIOS_VERSION [[[UIDevice currentDevice] systemVersion] floatValue]
#define kDEVICE_MODEL [[UIDevice currentDevice] model]
#define kIS_IPAD ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)
#define kisRetina ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 960), [[UIScreen mainScreen] currentMode].size) : NO)
#define kAPP_NAME [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleDisplayName"]
#define kAPP_VERSION [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]
#define kAPP_SUB_VERSION [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]
#define kUDeviceIdentifier [[UIDevice currentDevice] uniqueDeviceIdentifier]
#pragma mark - 常用宏定义
#define kWS(weakSelf) __weak __typeof(&*self)weakSelf = self;
#define kSCREEN_WIDTH ([UIScreen mainScreen].bounds.size.width)
#define kSCREEN_HEIGHT ([UIScreen mainScreen].bounds.size.height)
#define kUSER_DEFAULT [NSUserDefaults standardUserDefaults]
#define kNOTIFICATION_DEFAULT [NSNotificationCenter defaultCenter]
#define kIMAGENAMED(_pointer) [UIImage imageNamed:[UIUtil imageName:_pointer]]
#define kLOADIMAGE(file,ext) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle]pathForResource:file ofType:ext]]
#define kScreenWidthScaleSize (MIN(SCREEN_WIDTH,SCREEN_HEIGHT)/320.0)
#define kScreenWidthScaleSizeByIphone6 (MIN(SCREEN_WIDTH,SCREEN_HEIGHT)/375.0)
#define kDegreesToRadian(x) (M_PI * (x) / 180.0)
#define kRadianToDegrees(radian) (radian*180.0)/(M_PI)
#pragma mark - ios版本判断
#define kIOS5_OR_LATER ( [[[UIDevice currentDevice] systemVersion] compare:@"5.0"] != NSOrderedAscending )
#define kIOS6_OR_LATER ( [[[UIDevice currentDevice] systemVersion] compare:@"6.0"] != NSOrderedAscending )
#define kIOS7_OR_LATER ( [[[UIDevice currentDevice] systemVersion] compare:@"7.0"] != NSOrderedAscending )
#define kIOS8_OR_LATER ( [[[UIDevice currentDevice] systemVersion] compare:@"8.0"] != NSOrderedAscending )
#pragma mark - 是否为空或是[NSNull null]
#define kNotNilAndNull(_ref) (((_ref) != nil) && (![(_ref) isEqual:[NSNull null]]))
#define kIsNilOrNull(_ref) (((_ref) == nil) || ([(_ref) isEqual:[NSNull null]]))
#pragma mark - 图片资源获取
#define kIMGFROMBUNDLE( X ) [UIImage imageWithContentsOfFile:[[NSBundle mainBundle] pathForResource:X ofType:@""]]
#define kIMGNAMED( X ) [UIImage imageNamed:X]
#pragma mark - 颜色
#define kCOLOR_RGB(r,g,b) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:1.0]
#define kCOLOR_RGBA(r,g,b,a) [UIColor colorWithRed:(r)/255.0f green:(g)/255.0f blue:(b)/255.0f alpha:(a)]
#pragma mark - 定义字号
#define kFONT_TITLE(X) [UIFont systemFontSize:X]
#define kFONT_CONTENT(X) [UIFont systemFontSize:X]
#pragma mark - 其他
#define BINDVIEWWIDTH (ScreenBounds.size.width * 290.0 / 320.0)
#endif
//屏幕大小
#define WIN_SIZE [UIScreen mainScreen].bounds.size
#define WIN_WIDTH [UIScreen mainScreen].bounds.size.width
#define WIN_HEIGHT [UIScreen mainScreen].bounds.size.height
#define APP_HEIGHT [UIScreen mainScreen].applicationFrame.size.height
#define IOS7LaterNavBarHeight64.0
#define UITabBarControllerHeight56.5
//-------------------打印日志-------------------------
//DEBUG模式下打印日志,当前行
#ifdef DEBUG
#define DLog(fmt, ...) NSLog((@"%s [Line %d] "fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);
#else
#define DLog(...)
#endif
//重写NSLog,Debug模式下打印日志和当前行数
#if DEBUG
#define NSLog(FORMAT, ...) fprintf(stderr,"\nfunction:%s line:%d content:%s\n", __FUNCTION__, __LINE__, [[NSString stringWithFormat:FORMAT, ##__VA_ARGS__] UTF8String]);
#else
#define NSLog(FORMAT, ...) nil
#endif
#define IMAGE(imagePath) [UIImage imageNamed:imagePath]
//用户头像文件保存地址
#define USER_ICON_FILE_DIR [NSHomeDirectory() stringByAppendingPathComponent:@"Documents/UserIcon"]
//Web服务器URL
//#define Web_Server_Base_URL @"http://192.:8080/SmartHomeServer/"