最近項(xiàng)目中需要獲取用戶所使用的機(jī)型,網(wǎng)上查了很多資料最新的也就是到iPhone 11系列的今妄,蘋(píng)果最近出的iPhone 12相關(guān)系列的都沒(méi)包含在內(nèi)郑口。
偶然間瀏覽到一個(gè)網(wǎng)頁(yè)上面列舉了所有的蘋(píng)果設(shè)備的機(jī)型信息,于是就把鏈接和我整理的代碼貼出來(lái)盾鳞,方便大家接入機(jī)型檢測(cè)的功能犬性!
首先要導(dǎo)入? #import <sys/utsname.h>
剩下的就是判斷方法:
+ (NSString*)deviceType{
? ? structutsnamesystemInfo;
? ? uname(&systemInfo);
? ? NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
? ? //**************************? ? ? iPhone? ? ********************************************//
? ? if([deviceModelisEqualToString:@"iPhone3,1"])? ? return@"iPhone 4";
? ? if([deviceModelisEqualToString:@"iPhone3,2"])? ? return@"iPhone 4";
? ? if([deviceModelisEqualToString:@"iPhone3,3"])? ? return@"iPhone 4";
? ? if([deviceModelisEqualToString:@"iPhone4,1"])? ? return@"iPhone 4S";
? ? if([deviceModelisEqualToString:@"iPhone5,1"])? ? return@"iPhone 5";
? ? if ([deviceModel isEqualToString:@"iPhone5,2"])? ? return @"iPhone 5 (GSM+CDMA)";
? ? if ([deviceModel isEqualToString:@"iPhone5,3"])? ? return @"iPhone 5c (GSM)";
? ? if ([deviceModel isEqualToString:@"iPhone5,4"])? ? return @"iPhone 5c (GSM+CDMA)";
? ? if ([deviceModel isEqualToString:@"iPhone6,1"])? ? return @"iPhone 5s (GSM)";
? ? if ([deviceModel isEqualToString:@"iPhone6,2"])? ? return @"iPhone 5s (GSM+CDMA)";
? ? if([deviceModelisEqualToString:@"iPhone7,1"])? ? return@"iPhone 6 Plus";
? ? if([deviceModelisEqualToString:@"iPhone7,2"])? ? return@"iPhone 6";
? ? if([deviceModelisEqualToString:@"iPhone8,1"])? ? return@"iPhone 6s";
? ? if ([deviceModel isEqualToString:@"iPhone8,2"])? ? return @"iPhone 6s Plus";
? ? if([deviceModelisEqualToString:@"iPhone8,4"])? ? return@"iPhone SE";
? ? // 日行兩款手機(jī)型號(hào)均為日本獨(dú)占,可能使用索尼FeliCa支付方案而不是蘋(píng)果支付
? ? if([deviceModelisEqualToString:@"iPhone9,1"])? ? return@"iPhone 7";
? ? if([deviceModelisEqualToString:@"iPhone9,2"])? ? return@"iPhone 7 Plus";
? ? if([deviceModelisEqualToString:@"iPhone9,3"])? ? return@"iPhone 7";
? ? if([deviceModelisEqualToString:@"iPhone9,4"])? ? return@"iPhone 7 Plus";
? ? if([deviceModelisEqualToString:@"iPhone10,1"])? return@"iPhone_8";
? ? if([deviceModelisEqualToString:@"iPhone10,4"])? return@"iPhone_8";
? ? if ([deviceModel isEqualToString:@"iPhone10,2"])? return @"iPhone_8_Plus";
? ? if ([deviceModel isEqualToString:@"iPhone10,5"])? return @"iPhone_8_Plus";
? ? if([deviceModelisEqualToString:@"iPhone10,3"])? return@"iPhone X";
? ? if([deviceModelisEqualToString:@"iPhone10,6"])? return@"iPhone X";
? ? if([deviceModelisEqualToString:@"iPhone11,8"])? return@"iPhone XR";
? ? if([deviceModelisEqualToString:@"iPhone11,2"])? return@"iPhone XS";
? ? if ([deviceModel isEqualToString:@"iPhone11,6"])? return @"iPhone XS Max";
? ? if ([deviceModel isEqualToString:@"iPhone11,4"])? return @"iPhone XS Max";
? ? if([deviceModelisEqualToString:@"iPhone12,1"])? return@"iPhone 11";
? ? if ([deviceModel isEqualToString:@"iPhone12,3"])? return @"iPhone 11 Pro";
? ? if ([deviceModel isEqualToString:@"iPhone12,5"])? return @"iPhone 11 Pro Max";
? ? if ([deviceModel isEqualToString:@"iPhone12,8"])? return @"iPhone SE (2nd generation)";
? ? if ([deviceModel isEqualToString:@"iPhone13,1"])? return @"iPhone 12 mini";
? ? if([deviceModelisEqualToString:@"iPhone13,2"])? return@"iPhone 12";
? ? if ([deviceModel isEqualToString:@"iPhone13,3"])? return @"iPhone 12 Pro";
? ? if ([deviceModel isEqualToString:@"iPhone13,4"])? return @"iPhone 12 Pro Max";
//**************************? ? ? ipad? ? ********************************************//
? ? if([deviceModelisEqualToString:@"iPod1,1"])? ? ? return@"iPod Touch 1G";
? ? if([deviceModelisEqualToString:@"iPod2,1"])? ? ? return@"iPod Touch 2G";
? ? if([deviceModelisEqualToString:@"iPod3,1"])? ? ? return@"iPod Touch 3G";
? ? if([deviceModelisEqualToString:@"iPod4,1"])? ? ? return@"iPod Touch 4G";
? ? if ([deviceModel isEqualToString:@"iPod5,1"])? ? ? return @"iPod Touch (5 Gen)";
? ? if([deviceModelisEqualToString:@"iPad1,1"])? ? ? return@"iPad";
? ? if([deviceModelisEqualToString:@"iPad1,2"])? ? ? return@"iPad 3G";
? ? if([deviceModelisEqualToString:@"iPad2,1"])? ? ? return@"iPad 2 (WiFi)";
? ? if([deviceModelisEqualToString:@"iPad2,2"])? ? ? return@"iPad 2";
? ? if([deviceModelisEqualToString:@"iPad2,3"])? ? ? return@"iPad 2 (CDMA)";
? ? if([deviceModelisEqualToString:@"iPad2,4"])? ? ? return@"iPad 2";
? ? if([deviceModelisEqualToString:@"iPad2,5"])? ? ? return@"iPad Mini (WiFi)";
? ? if([deviceModelisEqualToString:@"iPad2,6"])? ? ? return@"iPad Mini";
? ? if ([deviceModel isEqualToString:@"iPad2,7"])? ? ? return @"iPad Mini (GSM+CDMA)";
? ? if([deviceModelisEqualToString:@"iPad3,1"])? ? ? return@"iPad 3 (WiFi)";
? ? if([deviceModelisEqualToString:@"iPad3,2"])? ? ? return@"iPad 3 (GSM+CDMA)";
? ? if([deviceModelisEqualToString:@"iPad3,3"])? ? ? return@"iPad 3";
? ? if([deviceModelisEqualToString:@"iPad3,4"])? ? ? return@"iPad 4 (WiFi)";
? ? if([deviceModelisEqualToString:@"iPad3,5"])? ? ? return@"iPad 4";
? ? if([deviceModelisEqualToString:@"iPad3,6"])? ? ? return@"iPad 4 (GSM+CDMA)";
? ? if([deviceModelisEqualToString:@"iPad4,1"])? ? ? return@"iPad Air (WiFi)";
? ? if ([deviceModel isEqualToString:@"iPad4,2"])? ? ? return @"iPad Air (Cellular)";
? ? if ([deviceModel isEqualToString:@"iPad4,4"])? ? ? return @"iPad Mini 2 (WiFi)";
? ? if ([deviceModel isEqualToString:@"iPad4,5"])? ? ? return @"iPad Mini 2 (Cellular)";
? ? if([deviceModelisEqualToString:@"iPad4,6"])? ? ? return@"iPad Mini 2";
? ? if([deviceModelisEqualToString:@"iPad4,7"])? ? ? return@"iPad Mini 3";
? ? if([deviceModelisEqualToString:@"iPad4,8"])? ? ? return@"iPad Mini 3";
? ? if([deviceModelisEqualToString:@"iPad4,9"])? ? ? return@"iPad Mini 3";
? ? if ([deviceModel isEqualToString:@"iPad5,1"])? ? ? return @"iPad Mini 4 (WiFi)";
? ? if([deviceModelisEqualToString:@"iPad5,2"])? ? ? return@"iPad Mini 4 (LTE)";
? ? if([deviceModelisEqualToString:@"iPad5,3"])? ? ? return@"iPad Air 2";
? ? if([deviceModelisEqualToString:@"iPad5,4"])? ? ? return@"iPad Air 2";
? ? if([deviceModelisEqualToString:@"iPad6,3"])? ? ? return@"iPad Pro 9.7";
? ? if([deviceModelisEqualToString:@"iPad6,4"])? ? ? return@"iPad Pro 9.7";
? ? if([deviceModelisEqualToString:@"iPad6,7"])? ? ? return@"iPad Pro 12.9";
? ? if([deviceModelisEqualToString:@"iPad6,8"])? ? ? return@"iPad Pro 12.9";
? ? if ([deviceModel isEqualToString:@"iPad7,1"])? ? ? return @"iPad Pro (12.9-inch) (2nd generation)";
? ? if ([deviceModel isEqualToString:@"iPad7,2"])? ? ? return @"iPad Pro (12.9-inch) (2nd generation)";
? ? if ([deviceModel isEqualToString:@"iPad7,3"])? ? ? return @"iPad Pro (10.5-inch)";
? ? if ([deviceModel isEqualToString:@"iPad7,4"])? ? ? return @"iPad Pro (10.5-inch)";
? ? if ([deviceModel isEqualToString:@"iPad7,5"])? ? ? return @"iPad (6th generation)";
? ? if ([deviceModel isEqualToString:@"iPad7,6"])? ? ? return @"iPad (6th generation)";
? ? if ([deviceModel isEqualToString:@"iPad7,5"])? ? ? return @"iPad (6th generation)";
? ? if ([deviceModel isEqualToString:@"iPad7,11"])? ? ? return @"iPad (7th generation)";
? ? if ([deviceModel isEqualToString:@"iPad7,12"])? ? ? return @"iPad (7th generation)";
? ? if ([deviceModel isEqualToString:@"iPad8,1"])? ? ? return @"iPad Pro (11-inch)";
? ? if ([deviceModel isEqualToString:@"iPad8,2"])? ? ? return @"iPad Pro (11-inch)";
? ? if ([deviceModel isEqualToString:@"iPad8,3"])? ? ? return @"iPad Pro (11-inch)";
? ? if ([deviceModel isEqualToString:@"iPad8,4"])? ? ? return @"iPad Pro (11-inch)";
? ? if ([deviceModel isEqualToString:@"iPad8,5"])? ? ? return @"iPad Pro (12.9-inch) (3rd generation)";
? ? if ([deviceModel isEqualToString:@"iPad8,6"])? ? ? return @"iPad Pro (12.9-inch) (3rd generation)";
? ? if ([deviceModel isEqualToString:@"iPad8,7"])? ? ? return @"iPad Pro (12.9-inch) (3rd generation)";
? ? if ([deviceModel isEqualToString:@"iPad8,8"])? ? ? return @"iPad Pro (12.9-inch) (3rd generation)";
? ? if ([deviceModel isEqualToString:@"iPad8,9"])? ? ? return @"iPad Pro (11-inch) (2nd generation)";
? ? if ([deviceModel isEqualToString:@"iPad8,10"])? ? ? return @"iPad Pro (11-inch) (2nd generation)";
? ? if ([deviceModel isEqualToString:@"iPad8,11"])? ? ? return @"iPad Pro (11-inch) (2nd generation)";
? ? if ([deviceModel isEqualToString:@"iPad8,12"])? ? ? return @"iPad Pro (11-inch) (2nd generation)";
? ? if ([deviceModel isEqualToString:@"iPad11,1"])? ? ? return @"iPad mini (5th generation)";
? ? if ([deviceModel isEqualToString:@"iPad11,2"])? ? ? return @"iPad mini (5th generation)";
? ? if ([deviceModel isEqualToString:@"iPad11,6"])? ? ? return @"iPad (8th generation)";
? ? if ([deviceModel isEqualToString:@"iPad11,7"])? ? ? return @"iPad (8th generation)";
? ? if([deviceModelisEqualToString:@"i386"])? ? ? return@"iPhone Simulator";
? ? if([deviceModelisEqualToString:@"x86_64"])? ? return@"iPhone Simulator";
? ? returndeviceModel;
}
參考文檔:https://www.theiphonewiki.com/wiki/Models