iOS 獲取當(dāng)前設(shè)備型號iPhone7/iPhone7P

#include <sys/types.h>

#include <sys/sysctl.h>

//獲得設(shè)備型號

+ (NSString *)getCurrentDeviceModel

{

int mib[2];

size_t len;

char *machine;

mib[0] = CTL_HW;

mib[1] = HW_MACHINE;

sysctl(mib, 2, NULL, &len, NULL, 0);

machine = malloc(len);

sysctl(mib, 2, machine, &len, NULL, 0);

NSString *platform = [NSString stringWithCString:machine encoding:NSASCIIStringEncoding];

free(machine);

// iPhone

if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone2G";

if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone3G";

if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone3GS";

if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone4";

if ([platform isEqualToString:@"iPhone3,2"]) return @"iPhone4";

if ([platform isEqualToString:@"iPhone3,3"]) return @"iPhone4";

if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone4S";

if ([platform isEqualToString:@"iPhone5,1"]) return @"iPhone5";

if ([platform isEqualToString:@"iPhone5,2"]) return @"iPhone5";

if ([platform isEqualToString:@"iPhone5,3"]) return @"iPhone5c";

if ([platform isEqualToString:@"iPhone5,4"]) return @"iPhone5c";

if ([platform isEqualToString:@"iPhone6,1"]) return @"iPhone5s";

if ([platform isEqualToString:@"iPhone6,2"]) return @"iPhone5s";

if ([platform isEqualToString:@"iPhone7,2"]) return @"iPhone6";

if ([platform isEqualToString:@"iPhone7,1"]) return @"iPhone6Plus";

if ([platform isEqualToString:@"iPhone8,1"]) return @"iPhone6s";

if ([platform isEqualToString:@"iPhone8,2"]) return @"iPhone6sPlus";

if ([platform isEqualToString:@"iPhone8,3"]) return @"iPhoneSE";

if ([platform isEqualToString:@"iPhone8,4"]) return @"iPhoneSE";

if ([platform isEqualToString:@"iPhone9,1"]) return @"iPhone7";

if ([platform isEqualToString:@"iPhone9,2"]) return @"iPhone7Plus";

//iPod Touch

if ([platform isEqualToString:@"iPod1,1"])? return @"iPodTouch";

if ([platform isEqualToString:@"iPod2,1"])? return @"iPodTouch2G";

if ([platform isEqualToString:@"iPod3,1"])? return @"iPodTouch3G";

if ([platform isEqualToString:@"iPod4,1"])? return @"iPodTouch4G";

if ([platform isEqualToString:@"iPod5,1"])? return @"iPodTouch5G";

if ([platform isEqualToString:@"iPod7,1"])? return @"iPodTouch6G";

//iPad

if ([platform isEqualToString:@"iPad1,1"])? return @"iPad";

if ([platform isEqualToString:@"iPad2,1"])? return @"iPad2";

if ([platform isEqualToString:@"iPad2,2"])? return @"iPad2";

if ([platform isEqualToString:@"iPad2,3"])? return @"iPad2";

if ([platform isEqualToString:@"iPad2,4"])? return @"iPad2";

if ([platform isEqualToString:@"iPad3,1"])? return @"iPad3";

if ([platform isEqualToString:@"iPad3,2"])? return @"iPad3";

if ([platform isEqualToString:@"iPad3,3"])? return @"iPad3";

if ([platform isEqualToString:@"iPad3,4"])? return @"iPad4";

if ([platform isEqualToString:@"iPad3,5"])? return @"iPad4";

if ([platform isEqualToString:@"iPad3,6"])? return @"iPad4";

//iPad Air

if ([platform isEqualToString:@"iPad4,1"])? return @"iPadAir";

if ([platform isEqualToString:@"iPad4,2"])? return @"iPadAir";

if ([platform isEqualToString:@"iPad4,3"])? return @"iPadAir";

if ([platform isEqualToString:@"iPad5,3"])? return @"iPadAir2";

if ([platform isEqualToString:@"iPad5,4"])? return @"iPadAir2";

//iPad mini

if ([platform isEqualToString:@"iPad2,5"])? return @"iPadmini1G";

if ([platform isEqualToString:@"iPad2,6"])? return @"iPadmini1G";

if ([platform isEqualToString:@"iPad2,7"])? return @"iPadmini1G";

if ([platform isEqualToString:@"iPad4,4"])? return @"iPadmini2";

if ([platform isEqualToString:@"iPad4,5"])? return @"iPadmini2";

if ([platform isEqualToString:@"iPad4,6"])? return @"iPadmini2";

if ([platform isEqualToString:@"iPad4,7"])? return @"iPadmini3";

if ([platform isEqualToString:@"iPad4,8"])? return @"iPadmini3";

if ([platform isEqualToString:@"iPad4,9"])? return @"iPadmini3";

if ([platform isEqualToString:@"iPad5,1"])? return @"iPadmini4";

if ([platform isEqualToString:@"iPad5,2"])? return @"iPadmini4";

if ([platform isEqualToString:@"i386"])? ? ? return @"iPhoneSimulator";

if ([platform isEqualToString:@"x86_64"])? ? return @"iPhoneSimulator";

return platform;

}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容