設備的判斷

#import <sys/utsname.h> //需要導入的頭文件

typedef NS_ENUM(NSInteger,kDeviceType) {

iPhone_2G,

iPhone_3G,

iPhone_3GS,

iPhone_4,

iPhone_4S,

iPhone_5,

iPhone_5C,

iPhone_5S,

iPhone_6,

iPhone_6S,

iPhone_6_PLUS,

iPhone_6S_PLUS,

iPhone_SE,

iPhone_7,

iPhone_7_PLUS,

iPod_Touch_1G,

iPod_Touch_2G,

iPod_Touch_3G,

iPod_Touch_4G,

iPod_Touch_5G,

iPad_1G,

iPad_2,

iPad_Mini_1G,

iPad_3,

iPad_4,

iPad_Air,

iPad_Mini_2G,

iPhone_Simulator_32,

iPhone_Simulator_64,

Other_Device,

};


//實現方法

//.h

+ (kDeviceType)currentDevice;

//.m

+ (kDeviceType)currentDevice {

struct utsname systemInfo;

uname(&systemInfo);

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

return Other_Device;

}

謝謝閱讀!

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

推薦閱讀更多精彩內容