NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow(infoDictionary); // app名称 NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"]; // app版本 NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; // app build版本 NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion"]; //手机序列号 NSString* identifierNumber = [[UIDevice currentDevice] uniqueIdentifier]; NSLog(@"手机序列号: %@",identifierNumber); //手机别名: 用户定义的名称 NSString* userPhoneName = [[UIDevice currentDevice] name]; NSLog(@"手机别名: %@", userPhoneName); //设备名称 NSString* deviceName = [[UIDevice currentDevice] systemName]; NSLog(@"设备名称: %@",deviceName ); //手机系统版本 NSString* phoneVersion = [[UIDevice currentDevice] systemVersion]; NSLog(@"手机系统版本: %@", phoneVersion); //手机型号 NSString* phoneModel = [[UIDevice currentDevice] model]; NSLog(@"手机型号: %@",phoneModel ); //地方型号 (国际化区域名称) NSString* localPhoneModel = [[UIDevice currentDevice] localizedModel]; NSLog(@"国际化区域名称: %@",localPhoneModel ); NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; // 当前应用名称 NSString *appCurName = [infoDictionary objectForKey:@"CFBundleDisplayName"]; NSLog(@"当前应用名称:%@",appCurName); // 当前应用软件版本 比如:1.0.1 NSString *appCurVersion = [infoDictionary objectForKey:@"CFBundleShortVersionString"]; NSLog(@"当前应用软件版本:%@",appCurVersion); // 当前应用版本号码 int类型 NSString *appCurVersionNum = [infoDictionary objectForKey:@"CFBundleVersion"]; NSLog(@"当前应用版本号码:%@",appCurVersionNum);
1.OC代码获取iOS设备型号:
// 需要#import <sys/utsname.h> + (NSString*)deviceModelName { struct utsname systemInfo; uname(&systemInfo); NSString *deviceModel = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; if ([deviceModel isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; if ([deviceModel isEqualToString:@"iPhone3,2"]) return @"iPhone 4"; if ([deviceModel isEqualToString:@"iPhone3,3"]) return @"iPhone 4"; if ([deviceModel isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; if ([deviceModel isEqualToString:@"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 ([deviceModel isEqualToString:@"iPhone7,1"]) return @"iPhone 6 Plus"; if ([deviceModel isEqualToString:@"iPhone7,2"]) return @"iPhone 6"; if ([deviceModel isEqualToString:@"iPhone8,1"]) return @"iPhone 6s"; if ([deviceModel isEqualToString:@"iPhone8,2"]) return @"iPhone 6s Plus"; if ([deviceModel isEqualToString:@"iPhone8,4"]) return @"iPhone SE"; // 日行两款手机型号均为日本独占,可能使用索尼FeliCa支付方案而不是苹果支付 if ([deviceModel isEqualToString:@"iPhone9,1"]) return @"国行、日版、港行iPhone 7"; if ([deviceModel isEqualToString:@"iPhone9,2"]) return @"港行、国行iPhone 7 Plus"; if ([deviceModel isEqualToString:@"iPhone9,3"]) return @"美版、台版iPhone 7"; if ([deviceModel isEqualToString:@"iPhone9,4"]) return @"美版、台版iPhone 7 Plus"; if ([deviceModel isEqualToString:@"iPhone10,1"]) return @"iPhone_8"; if ([deviceModel isEqualToString:@"iPhone10,4"]) return @"iPhone_8"; if ([deviceModel isEqualToString:@"iPhone10,2"]) return @"iPhone_8_Plus"; if ([deviceModel isEqualToString:@"iPhone10,5"]) return @"iPhone_8_Plus"; if ([deviceModel isEqualToString:@"iPhone10,3"]) return @"iPhone_X"; if ([deviceModel isEqualToString:@"iPhone10,6"]) return @"iPhone_X"; if ([deviceModel isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([deviceModel isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([deviceModel isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([deviceModel isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([deviceModel isEqualToString:@"iPod5,1"]) return @"iPod Touch (5 Gen)"; if ([deviceModel isEqualToString:@"iPad1,1"]) return @"iPad"; if ([deviceModel isEqualToString:@"iPad1,2"]) return @"iPad 3G"; if ([deviceModel isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"; if ([deviceModel isEqualToString:@"iPad2,2"]) return @"iPad 2"; if ([deviceModel isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"; if ([deviceModel isEqualToString:@"iPad2,4"]) return @"iPad 2"; if ([deviceModel isEqualToString:@"iPad2,5"]) return @"iPad Mini (WiFi)"; if ([deviceModel isEqualToString:@"iPad2,6"]) return @"iPad Mini"; if ([deviceModel isEqualToString:@"iPad2,7"]) return @"iPad Mini (GSM+CDMA)"; if ([deviceModel isEqualToString:@"iPad3,1"]) return @"iPad 3 (WiFi)"; if ([deviceModel isEqualToString:@"iPad3,2"]) return @"iPad 3 (GSM+CDMA)"; if ([deviceModel isEqualToString:@"iPad3,3"]) return @"iPad 3"; if ([deviceModel isEqualToString:@"iPad3,4"]) return @"iPad 4 (WiFi)"; if ([deviceModel isEqualToString:@"iPad3,5"]) return @"iPad 4"; if ([deviceModel isEqualToString:@"iPad3,6"]) return @"iPad 4 (GSM+CDMA)"; if ([deviceModel isEqualToString:@"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 ([deviceModel isEqualToString:@"iPad4,6"]) return @"iPad Mini 2"; if ([deviceModel isEqualToString:@"iPad4,7"]) return @"iPad Mini 3"; if ([deviceModel isEqualToString:@"iPad4,8"]) return @"iPad Mini 3"; if ([deviceModel isEqualToString:@"iPad4,9"]) return @"iPad Mini 3"; if ([deviceModel isEqualToString:@"iPad5,1"]) return @"iPad Mini 4 (WiFi)"; if ([deviceModel isEqualToString:@"iPad5,2"]) return @"iPad Mini 4 (LTE)"; if ([deviceModel isEqualToString:@"iPad5,3"]) return @"iPad Air 2"; if ([deviceModel isEqualToString:@"iPad5,4"]) return @"iPad Air 2"; if ([deviceModel isEqualToString:@"iPad6,3"]) return @"iPad Pro 9.7"; if ([deviceModel isEqualToString:@"iPad6,4"]) return @"iPad Pro 9.7"; if ([deviceModel isEqualToString:@"iPad6,7"]) return @"iPad Pro 12.9"; if ([deviceModel isEqualToString:@"iPad6,8"]) return @"iPad Pro 12.9"; if ([deviceModel isEqualToString:@"AppleTV2,1"]) return @"Apple TV 2"; if ([deviceModel isEqualToString:@"AppleTV3,1"]) return @"Apple TV 3"; if ([deviceModel isEqualToString:@"AppleTV3,2"]) return @"Apple TV 3"; if ([deviceModel isEqualToString:@"AppleTV5,3"]) return @"Apple TV 4"; if ([deviceModel isEqualToString:@"i386"]) return @"Simulator"; if ([deviceModel isEqualToString:@"x86_64"]) return @"Simulator"; return deviceModel; }
2.Swift代码获取iOS设备型号
//MARK: - UIDevice延展 public extension UIDevice { var modelName: String { var systemInfo = utsname() uname(&systemInfo) let machineMirror = Mirror(reflecting: systemInfo.machine) let identifier = machineMirror.children.reduce("") { identifier, element in guard let value = element.value as? Int8 where value != 0 else { return identifier } return identifier + String(UnicodeScalar(UInt8(value))) } switch identifier { case "iPod1,1": return "iPod Touch 1" case "iPod2,1": return "iPod Touch 2" case "iPod3,1": return "iPod Touch 3" case "iPod4,1": return "iPod Touch 4" case "iPod5,1": return "iPod Touch (5 Gen)" case "iPod7,1": return "iPod Touch 6" case "iPhone3,1", "iPhone3,2", "iPhone3,3": return "iPhone 4" case "iPhone4,1": return "iPhone 4s" case "iPhone5,1": return "iPhone 5" case "iPhone5,2": return "iPhone 5 (GSM+CDMA)" case "iPhone5,3": return "iPhone 5c (GSM)" case "iPhone5,4": return "iPhone 5c (GSM+CDMA)" case "iPhone6,1": return "iPhone 5s (GSM)" case "iPhone6,2": return "iPhone 5s (GSM+CDMA)" case "iPhone7,2": return "iPhone 6" case "iPhone7,1": return "iPhone 6 Plus" case "iPhone8,1": return "iPhone 6s" case "iPhone8,2": return "iPhone 6s Plus" case "iPhone8,4": return "iPhone SE" case "iPhone9,1": return "国行、日版、港行iPhone 7" case "iPhone9,2": return "港行、国行iPhone 7 Plus" case "iPhone9,3": return "美版、台版iPhone 7" case "iPhone9,4": return "美版、台版iPhone 7 Plus" case "iPhone10,1","iPhone10,4": return "iPhone 8" case "iPhone10,2","iPhone10,5": return "iPhone 8 Plus" case "iPhone10,3","iPhone10,6": return "iPhone X" case "iPad1,1": return "iPad" case "iPad1,2": return "iPad 3G" case "iPad2,1", "iPad2,2", "iPad2,3", "iPad2,4": return "iPad 2" case "iPad2,5", "iPad2,6", "iPad2,7": return "iPad Mini" case "iPad3,1", "iPad3,2", "iPad3,3": return "iPad 3" case "iPad3,4", "iPad3,5", "iPad3,6": return "iPad 4" case "iPad4,1", "iPad4,2", "iPad4,3": return "iPad Air" case "iPad4,4", "iPad4,5", "iPad4,6": return "iPad Mini 2" case "iPad4,7", "iPad4,8", "iPad4,9": return "iPad Mini 3" case "iPad5,1", "iPad5,2": return "iPad Mini 4" case "iPad5,3", "iPad5,4": return "iPad Air 2" case "iPad6,3", "iPad6,4": return "iPad Pro 9.7" case "iPad6,7", "iPad6,8": return "iPad Pro 12.9" case "AppleTV2,1": return "Apple TV 2" case "AppleTV3,1","AppleTV3,2": return "Apple TV 3" case "AppleTV5,3": return "Apple TV 4" case "i386", "x86_64": return "Simulator" default: return identifier } } }