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