本文从这篇文章修补而来
需要
#import <sys/utsname.h>
接下来是方法
+ (NSString *)getDeviceIdentifier {
// 需要#import "sys/utsname.h"
struct utsname systemInfo;
uname(&systemInfo);
// 获取设备标识Identifier
NSString *platform = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
if (_antique == -1) {
NSString *num = [platform componentsSeparatedByString:@","].firstObject;
int minNum;
//iPhone和iPad之外的不考虑
if ([platform containsString:@"iPhone"]) {
num = [num stringByReplacingOccurrencesOfString:@"iPhone" withString:@""];
minNum = 9;//iPhone 7
} else {
num = [num stringByReplacingOccurrencesOfString:@"iPad" withString:@""];
minNum = 6;//第一代iPad Pro
}
_antique = num.intValue < minNum;
}
NSDictionary *dic = @{
// iPhone
@"iPhone1,1":@"iPhone 2G",
@"iPhone1,2":@"iPhone 3G",
@"iPhone2,1":@"iPhone 3GS",
@"iPhone3,1":@"iPhone 4",
@"iPhone3,2":@"iPhone 4",
@"iPhone3,3":@"iPhone 4",
@"iPhone4,1":@"iPhone 4S",
@"iPhone5,1":@"iPhone 5",
@"iPhone5,2":@"iPhone 5",
@"iPhone5,3":@"iPhone 5c",
@"iPhone5,4":@"iPhone 5c",
@"iPhone6,1":@"iPhone 5s",
@"iPhone6,2":@"iPhone 5s",
@"iPhone7,1":@"iPhone 6 Plus",
@"iPhone7,2":@"iPhone 6",
@"iPhone8,1":@"iPhone 6s",
@"iPhone8,2":@"iPhone 6s Plus",
@"iPhone8,4":@"iPhone SE",
@"iPhone9,1":@"iPhone 7",
@"iPhone9,3":@"iPhone 7",
@"iPhone9,2":@"iPhone 7 Plus",
@"iPhone9,4":@"iPhone 7 Plus",
@"iPhone10,1":@"iPhone 8",
@"iPhone10,4":@"iPhone 8",
@"iPhone10,2":@"iPhone 8 Plus",
@"iPhone10,5":@"iPhone 8 Plus",
@"iPhone10,3":@"iPhone X",
@"iPhone10,6":@"iPhone X",
@"iPhone11,2":@"iPhone XS",
@"iPhone11,6":@"iPhone XS MAX",
@"iPhone11,8":@"iPhone XR",
@"iPhone12,1":@"iPhone 11",
@"iPhone12,3":@"iPhone 11 Pro",
@"iPhone12,5":@"iPhone 11 Pro Max",
@"iPhone12,8":@"iPhone SE (2nd generation)",
@"iPhone13,1":@"iPhone 12 mini",
@"iPhone13,2":@"iPhone 12",
@"iPhone13,3":@"iPhone 12 Pro",
@"iPhone13,4":@"iPhone 12 Pro Max",
@"iPhone14,2":@"iPhone 13 Pro",
@"iPhone14,3":@"iPhone 13 Pro Max",
@"iPhone14,4":@"iPhone 13 mini",
@"iPhone14,5":@"iPhone 13",
@"iPhone14,6":@"iPhone SE (3rd generation)",
@"iPhone14,7":@"iPhone 14",
@"iPhone14,8":@"iPhone 14 Plus",
@"iPhone15,2":@"iPhone 14 Pro",
@"iPhone15,3":@"iPhone 14 Pro Max",
// iPod
@"iPod1,1":@"iPod Touch 1",
@"iPod2,1":@"iPod Touch 2",
@"iPod3,1":@"iPod Touch 3",
@"iPod4,1":@"iPod Touch 4",
@"iPod5,1":@"iPod Touch 5",
@"iPod7,1":@"iPod Touch 6",
@"iPod9,1":@"iPod Touch 7",
// iPad
@"iPad1,1":@"iPad 1",
@"iPad2,1":@"iPad 2",
@"iPad2,2":@"iPad 2",
@"iPad2,3":@"iPad 2",
@"iPad2,4":@"iPad 2",
@"iPad2,5":@"iPad Mini 1",
@"iPad2,6":@"iPad Mini 1",
@"iPad2,7":@"iPad Mini 1",
@"iPad3,1":@"iPad 3",
@"iPad3,2":@"iPad 3",
@"iPad3,3":@"iPad 3",
@"iPad3,4":@"iPad 4",
@"iPad3,5":@"iPad 4",
@"iPad3,6":@"iPad 4",
@"iPad4,1":@"iPad Air",
@"iPad4,2":@"iPad Air",
@"iPad4,3":@"iPad Air",
@"iPad4,4":@"iPad Mini 2",
@"iPad4,5":@"iPad Mini 2",
@"iPad4,6":@"iPad Mini 2",
@"iPad4,7":@"iPad mini 3",
@"iPad4,8":@"iPad mini 3",
@"iPad4,9":@"iPad mini 3",
@"iPad5,1":@"iPad mini 4",
@"iPad5,2":@"iPad mini 4",
@"iPad5,3":@"iPad Air 2",
@"iPad5,4":@"iPad Air 2",
@"iPad6,3":@"iPad Pro (9.7-inch)",
@"iPad6,4":@"iPad Pro (9.7-inch)",
@"iPad6,7":@"iPad Pro (12.9-inch)",
@"iPad6,8":@"iPad Pro (12.9-inch)",
@"iPad6,11":@"iPad 5",
@"iPad6,12":@"iPad 5",
@"iPad7,1":@"iPad Pro (12.9-inch) 2nd",
@"iPad7,2":@"iPad Pro (12.9-inch) 2nd",
@"iPad7,3":@"iPad Pro (10.5-inch)",
@"iPad7,4":@"iPad Pro (10.5-inch)",
@"iPad7,5":@"iPad 6",
@"iPad7,6":@"iPad 6",
@"iPad7,11":@"iPad 7",
@"iPad7,12":@"iPad 7",
@"iPad8,1":@"iPad Pro (11-inch) ",
@"iPad8,2":@"iPad Pro (11-inch) ",
@"iPad8,3":@"iPad Pro (11-inch) ",
@"iPad8,4":@"iPad Pro (11-inch) ",
@"iPad8,5":@"iPad Pro (12.9-inch) 3rd",
@"iPad8,6":@"iPad Pro (12.9-inch) 3rd",
@"iPad8,7":@"iPad Pro (12.9-inch) 3rd",
@"iPad8,8":@"iPad Pro (12.9-inch) 3rd",
@"iPad8,9":@"iPad Pro (11-inch) 2nd",
@"iPad8,10":@"iPad Pro (11-inch) 2nd",
@"iPad8,11":@"iPad Pro (12.9-inch) 4th",
@"iPad8,12":@"iPad Pro (12.9-inch) 4th",
@"iPad11,1":@"iPad mini 5",
@"iPad11,2":@"iPad mini 5",
@"iPad11,3":@"iPad Air 3",
@"iPad11,4":@"iPad Air 3",
@"iPad11,6":@"iPad 8",
@"iPad11,7":@"iPad 8",
@"iPad12,1":@"iPad 9",
@"iPad12,2":@"iPad 9",
@"iPad13,1":@"iPad Air 4",
@"iPad13,2":@"iPad Air 4",
@"iPad13,4":@"iPad Pro (11-inch) 3rd",
@"iPad13,5":@"iPad Pro (11-inch) 3rd",
@"iPad13,6":@"iPad Pro (11-inch) 3rd",
@"iPad13,7":@"iPad Pro (11-inch) 3rd",
@"iPad13,8":@"iPad Pro (12.9-inch) 5th",
@"iPad13,9":@"iPad Pro (12.9-inch) 5th",
@"iPad13,10":@"iPad Pro (12.9-inch) 5th",
@"iPad13,11":@"iPad Pro (12.9-inch) 5th",
@"iPad13,16":@"iPad Air 5",
@"iPad13,17":@"iPad Air 5",
@"iPad14,1":@"iPad mini 6",
@"iPad14,2":@"iPad mini 6",
// 其他
@"i386":@"iPhone Simulator",
@"x86_64":@"iPhone Simulator",
};
platform = dic[platform] ?: platform;
return platform;
}