1 UIDevice
//设备相关信息的获取 NSString *strName = [[UIDevice currentDevice] name]; NSLog(@"设备名称:%@", strName);//e.g. "My iPhone" NSString *strId = [[UIDevice currentDevice] uniqueIdentifier]; NSLog(@"设备唯一标识:%@", strId);//UUID,5.0后不可用 NSString *strSysName = [[UIDevice currentDevice] systemName]; NSLog(@"系统名称:%@", strSysName);// e.g. @"iOS" NSString *strSysVersion = [[UIDevice currentDevice] systemVersion]; NSLog(@"系统版本号:%@", strSysVersion);// e.g. @"4.0" NSString *strModel = [[UIDevice currentDevice] model]; NSLog(@"设备模式:%@", strModel);// e.g. @"iPhone", @"iPod touch" NSString *strLocModel = [[UIDevice currentDevice] localizedModel]; NSLog(@"本地设备模式:%@", strLocModel);// localized version of model //地方型号(国际化区域名称) NSString* phoneModel = [[UIDevice currentDevice] model]; NSLog(@"手机型号: %@",phoneModel ); //手机型号
2 获得具体型号
//获得设备型号1.引入头文件。#include#include + (NSString *)getCurrentDeviceModel:(UIViewController *)controller{ size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = (char*)malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0); NSString *platform = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding]; if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 2G (A1203)"; if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G (A1241/A1324)"; if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS (A1303/A1325)"; if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4 (A1332)"; if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone 4 (A1332)"; if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone 4 (A1349)"; if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S (A1387/A1431)"; if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone 5 (A1428)"; if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone 5 (A1429/A1442)"; if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone 5c (A1456/A1532)"; if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone 5c (A1507/A1516/A1526/A1529)"; if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone 5s (A1453/A1533)"; if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone 5s (A1457/A1518/A1528/A1530)"; if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus (A1522/A1524)"; if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone 6 (A1549/A1586)"; if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G (A1213)"; if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G (A1288)"; if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G (A1318)"; if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G (A1367)"; if ([platform isEqualToString:@"iPod5,1"]) return @"iPod Touch 5G (A1421/A1509)"; if ([platform isEqualToString:@"iPad1,1"]) return @"iPad 1G (A1219/A1337)"; if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (A1395)"; if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (A1396)"; if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (A1397)"; if ([platform isEqualToString:@"iPad2,4"]) return @"iPad 2 (A1395+New Chip)"; if ([platform isEqualToString:@"iPad2,5"]) return @"iPad Mini 1G (A1432)"; if ([platform isEqualToString:@"iPad2,6"]) return @"iPad Mini 1G (A1454)"; if ([platform isEqualToString:@"iPad2,7"]) return @"iPad Mini 1G (A1455)"; if ([platform isEqualToString:@"iPad3,1"]) return @"iPad 3 (A1416)"; if ([platform isEqualToString:@"iPad3,2"]) return @"iPad 3 (A1403)"; if ([platform isEqualToString:@"iPad3,3"]) return @"iPad 3 (A1430)"; if ([platform isEqualToString:@"iPad3,4"]) return @"iPad 4 (A1458)"; if ([platform isEqualToString:@"iPad3,5"]) return @"iPad 4 (A1459)"; if ([platform isEqualToString:@"iPad3,6"]) return @"iPad 4 (A1460)"; if ([platform isEqualToString:@"iPad4,1"]) return @"iPad Air (A1474)"; if ([platform isEqualToString:@"iPad4,2"]) return @"iPad Air (A1475)"; if ([platform isEqualToString:@"iPad4,3"]) return @"iPad Air (A1476)"; if ([platform isEqualToString:@"iPad4,4"]) return @"iPad Mini 2G (A1489)"; if ([platform isEqualToString:@"iPad4,5"]) return @"iPad Mini 2G (A1490)"; if ([platform isEqualToString:@"iPad4,6"]) return @"iPad Mini 2G (A1491)"; if ([platform isEqualToString:@"i386"]) return @"iPhone Simulator"; if ([platform isEqualToString:@"x86_64"]) return @"iPhone Simulator"; return platform;}
3 获得屏幕尺寸
#importenum { // iPhone 4,4S 高清分辨率(640x960px) UIDevice_iPhoneHiRes = 1, // iPhone 5 高清分辨率(640x1136px) UIDevice_iPhone5 = 2, // iPhone 6 高清分辨率(750x1134px) UIDevice_iPhone6 = 3, // iPhone 6+ 高清分辨率(1242x2208px) UIDevice_iPhone6pluse = 4,}; typedef NSUInteger UIDeviceResolution;@interface UIDevice (Resolutions)/****************************************************************************** 函数名称 : + (UIDeviceResolution) currentResolution 函数描述 : 获取当前分辨率 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (UIDeviceResolution) currentResolution;/****************************************************************************** 函数名称 : + (UIDeviceResolution) currentResolution 函数描述 : 当前是否运行在iPhone5端 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (BOOL)isRunningOniPhone5;/****************************************************************************** 函数名称 : + (BOOL)isRunningOniPhone 函数描述 : 当前是否运行在iPhone端 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (BOOL)isRunningOniPhone;@end#import "UIDevice+Resolutions.h"@implementation UIDevice (Resolutions)/****************************************************************************** 函数名称 : + (UIDeviceResolution) currentResolution 函数描述 : 获取当前分辨率 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+(UIDeviceResolution)currentResolution{ CGSize result = [[UIScreen mainScreen] bounds].size; result = CGSizeMake(result.width * [UIScreen mainScreen].scale, result.height * [UIScreen mainScreen].scale); if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone) { if (result.width == 640.0f) { return (result.height == 960 ? UIDevice_iPhoneHiRes : UIDevice_iPhone5); }else{ return (result.width == 750 ? UIDevice_iPhone6 : UIDevice_iPhone6pluse ); } } return 0;}/****************************************************************************** 函数名称 : + (UIDeviceResolution) currentResolution 函数描述 : 当前是否运行在iPhone5端 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (BOOL)isRunningOniPhone5{ if ([self currentResolution] == UIDevice_iPhone5) { return YES; } return NO;}/****************************************************************************** 函数名称 : + (BOOL)isRunningOniPhone 函数描述 : 当前是否运行在iPhone端 输入参数 : N/A 输出参数 : N/A 返回参数 : N/A 备注信息 : ******************************************************************************/+ (BOOL)isRunningOniPhone{ return (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone);}@end