1.IOS 获取最新设备型号方法
列表最新对照表:http://theiphonewiki.com/wiki/Models
方法:

#import "sys/utsname.h”

struct utsname systemInfo;
uname(&systemInfo); NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];

这样得到的   deviceString  是iPhone5,2 的设备号,根据对照表可以获取到当前手机型号。

完整函数:

 struct utsname systemInfo;
uname(&systemInfo);
NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; NSArray *modelArray = @[ @"i386", @"x86_64", @"iPhone1,1",
@"iPhone1,2",
@"iPhone2,1",
@"iPhone3,1",
@"iPhone3,2",
@"iPhone3,3",
@"iPhone4,1",
@"iPhone5,1",
@"iPhone5,2",
@"iPhone5,3",
@"iPhone5,4",
@"iPhone6,1",
@"iPhone6,2", @"iPod1,1",
@"iPod2,1",
@"iPod3,1",
@"iPod4,1",
@"iPod5,1", @"iPad1,1",
@"iPad2,1",
@"iPad2,2",
@"iPad2,3",
@"iPad2,4",
@"iPad3,1",
@"iPad3,2",
@"iPad3,3",
@"iPad3,4",
@"iPad3,5",
@"iPad3,6", @"iPad2,5",
@"iPad2,6",
@"iPad2,7",
];
NSArray *modelNameArray = @[ @"iPhone Simulator", @"iPhone Simulator", @"iPhone 2G",
@"iPhone 3G",
@"iPhone 3GS",
@"iPhone 4(GSM)",
@"iPhone 4(GSM Rev A)",
@"iPhone 4(CDMA)",
@"iPhone 4S",
@"iPhone 5(GSM)",
@"iPhone 5(GSM+CDMA)",
@"iPhone 5c(GSM)",
@"iPhone 5c(Global)",
@"iphone 5s(GSM)",
@"iphone 5s(Global)", @"iPod Touch 1G",
@"iPod Touch 2G",
@"iPod Touch 3G",
@"iPod Touch 4G",
@"iPod Touch 5G", @"iPad",
@"iPad 2(WiFi)",
@"iPad 2(GSM)",
@"iPad 2(CDMA)",
@"iPad 2(WiFi + New Chip)",
@"iPad 3(WiFi)",
@"iPad 3(GSM+CDMA)",
@"iPad 3(GSM)",
@"iPad 4(WiFi)",
@"iPad 4(GSM)",
@"iPad 4(GSM+CDMA)", @"iPad mini (WiFi)",
@"iPad mini (GSM)",
@"ipad mini (GSM+CDMA)"
];
NSInteger modelIndex = - ;
NSString *modelNameString = nil;
modelIndex = [modelArray indexOfObject:deviceString];
if (modelIndex >= && modelIndex < [modelNameArray count]) {
modelNameString = [modelNameArray objectAtIndex:modelIndex];
} NSLog(@"----设备类型---%@",modelNameString);

注:struct utsname systemInfo; 这是LINUX系统放硬件版本的信息的地方。

附录:

 //    IOS-获取Model(设备型号)、Version(设备版本号)、app(程序版本号)等
NSLog(@"name: %@", [[UIDevice currentDevice] name]);
NSLog(@"systemName: %@", [[UIDevice currentDevice] systemName]);
NSLog(@"systemVersion: %@", [[UIDevice currentDevice] systemVersion]);
NSLog(@"model: %@", [[UIDevice currentDevice] model]);
NSLog(@"localizedModel: %@", [[UIDevice currentDevice] localizedModel]); NSDictionary *infoDictionary = [[NSBundle mainBundle] infoDictionary]; CFShow((__bridge CFTypeRef)(infoDictionary)); // app名称
NSString *app_Name = [infoDictionary objectForKey:@"CFBundleDisplayName"];
// app版本
NSString *app_Version = [infoDictionary objectForKey:@"CFBundleShortVersionString"];
// app build版本
NSString *app_build = [infoDictionary objectForKey:@"CFBundleVersion”];

----------备注记录之用

IOS 获取最新设备型号方法的更多相关文章

  1. IOS获取手机设备型号

    最新型号的设备列表https://www.theiphonewiki.com/wiki/Models #import "iosutils/IOSUtils.h" #import & ...

  2. iOS获取用户设备崩溃日志并分析

    项目最近发布,部分用户在内侧使用,正好遇到一些问题,由于用户在其他城市,所以对于用户设备产生的崩溃日志,不好直接拿设备连接电脑. 对于这种情况,我们可以这样: 1.引导用户开启iOS设备设置-> ...

  3. ios 获得设备型号方法

    以前用UIScreen 的大小来判断设备类型,现在有了iphone6 和 iphone6 plus, 这种方法不能用了.因为当程序不提供相应的启动图片时,系统会把程序运行在320*568的size下, ...

  4. [方法提炼] 获取Android设备序列号方法

    通过这个方法可以检测设备是否连接成功,如果有一台或者多台设备,可以将所有设备序列号全部输出 # -*- coding:utf-8 -*- import os def attachDeviceList( ...

  5. iOS 获取沙盒路径方法

    //获取家目录路径的函数: NSString *homeDir = NSHomeDirectory(); //获取Documents目录路径的方法: NSArray *paths = NSSearch ...

  6. iOS 获取手机的型号,系统版本,软件名称,软件版本

    转载自:http://www.2cto.com/kf/201210/162333.html   网上搜索出来的,记录下来以后使用方便: [java]//手机序列号      NSString* ide ...

  7. ios 获取当前设备信息、内存

    //在[UIDevice currentDevice]中的属性 @property(nonatomic,readonly,strong) NSString *name; // e.g. "M ...

  8. ios 获取手机设备信息

    [UIDevice currentDevice]:表示设备 NSString *devices=[[NSString alloc] initWithFormat: @"unique id: ...

  9. iOS获取当前设备方向

    三种方式: self.interfaceOrientation [[UIApplication sharedApplication] statusBarOrientation] [[UIDevice ...

随机推荐

  1. FastJSON 简介及其Map/JSON/String 互转

    在日志解析,前后端数据传输交互中,经常会遇到 String 与 map.json.xml 等格式相互转换与解析的场景,其中 json 基本成为了跨语言.跨前后端的事实上的标准数据交互格式.应该来说各个 ...

  2. Java正则表达式的最简单应用

    String emailRegex = "^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$"; Pattern pat = ...

  3. 反转字符串--C和Python

    将字符串反转,即“abcde”->"edcba" C语言实现: [转自http://www.kanzhun.com/mianshiti/456.html?sid=mail_1 ...

  4. 【SpringMVC】SpringMVC系列12之数据类型转换、格式化、校验

      12.数据类型转换.格式化.校验 12.1.数据绑定流程     Spring MVC 主框架将 ServletRequest 对象及目标方法的入参实例传递给 WebDataBinderFacto ...

  5. mysql源码:关于innodb中两次写的探索

    两次写可以说是在Innodb中很独特的一个功能点,而关于它的说明或者解释非常少,至于它存在的原因更没有多少文章来说,所以我打算专门对它做一次说明. 首先说明一下为什么会有两次写这个东西:因为innod ...

  6. 【JAVA、C++】LeetCode 011 Container With Most Water

    Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...

  7. Mac 安装Java JDK

    (一)Java JDK 首先到该网址,下载JavaSE  http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads- ...

  8. Zabbix利用msmtp+mutt发送邮件报警(公告:这文章有问题,还没有修改,2016-08-25)

    [root@86 ~]# wget http://jaist.dl.sourceforge.net/project/msmtp/msmtp/1.4.32/msmtp-1.4.32.tar.bz2 百度 ...

  9. MVC学习笔记---MVC的处理管线

    漫步ASP.NET MVC的处理管线   ASP.NET MVC从诞生到现在已经好几个年头了,这个框架提供一种全新的开发模式,更符合web开发本质.你可以很好的使用以及个性化和扩展这个框架,但这需要你 ...

  10. C# this和base

    base关键字:其用于在派生类中实现对基类公有或者受保护成员的访问,但是只局限在构造函数.实例方法和实例属性访问器中,还有指定创建派生类实例时应调用的基类构造函数. this关键字:限定被相似的名称隐 ...