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 <sys/types.h>
#include <sys/sysctl.h>
+ (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 获得屏幕尺寸
#import <UIKit/UIKit.h>
enum {
// 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