获取iOS设备型号的方法总结
三种常用的办法获取iOS设备的型号:
1. [UIDevice currentDevice].model (推荐);
2. uname(struct utsname *name) ,使用此函数需要#include ;
3.sysctlbyname(const char *name, void *oldp, size_t *oldlenp, void *newp,
size_t newlen) ,使用此函数需要#include ,#include;
推荐使用第一种方法,为最上层的API,在项目开发中推荐使用高级的API ,因为其识别度高,更简洁易用。2、3两种都是BSD级别的API ,为底层的API,不推荐。
示例:
1. NSString * strModel = [UIDevice currentDevice].model ;
2. struct utsname systemInfo
uname(&systemInfo)
NSString * strModel = [NSString stringWithCString:systemInfo.machine
encoding:NSUTF8StringEncoding];
3. size_t size
sysctlbyname ("hw.machine" , NULL , &size ,NULL ,0)
char *model = (char *)malloc(size)
sysctlbyname ("hw.machine" , model , &size ,NULL ,0)
NSString * strModel = [NSString stringWithCString: model
encoding:NSUTF8StringEncoding];
获取了设备型号之后,还不能准确的了解其设备类型,还需要找到与其型号对应的设备说明。
如iPad2,1对应的是 iPad2(WIFI)。
此对应表已有前人很好总结出来:
struct
utsname systemInfo;
uname(&systemInfo);
NSString
*deviceString = [
NSString
stringWithCString:systemInfo.machine encoding:
NSUTF8StringEncoding
];
通过,如上方式即可获取到设备的型号信息,具体对应关系如下,截止2013,2,5。
iphone 5,1 iphone5(移动,联通)
iphone 5,2 iphone5(移动,电信,联通)
iphone 4,1 iphone4S
iphone 3,1 iphone4(移动,联通)
iphone 3,2 iphone4(联通)
iphone 3,3 iphone4(电信)
iphone 2,1 iphone3GS
iphone 1,2 iphone3G
iphone 1,1 iphone
ipad 1,1 ipad 1
ipad 2,1 ipad 2(Wifi)
ipad 2,2 ipad 2(GSM)
ipad 2,3 ipad 2(CDMA)
ipad 2,4 ipad 2(32nm)
ipad 2,5 ipad mini(Wifi)
ipad 2,6 ipad mini(GSM)
ipad 2,7 ipad mini(CDMA)
ipad 3,1 ipad 3(Wifi)
ipad 3,2 ipad 3(CDMA)
ipad 3,3 ipad 3(4G)
ipad 3,4 ipad 4(Wifi)
ipad 3,5 ipad 4(4G)
ipad 3,6 ipad 4(CDMA)
ipod 5,1 ipod touch 5
ipod 4,1 ipod touch 4
ipod 3,1 ipod touch 3
ipod 2,1 ipod touch 2
ipod 1,1 ipod touch
获取iOS设备型号的方法总结的更多相关文章
- 获取iOS设备型号iphone ipad
#import <sys/sysctl.h> //获得设备型号 -(NSString *)getCurrentDeviceModel { int mib[2]; size_t len; c ...
- 获取ios设备系统信息的方法 之 [UIDevice currentDevice]
获取iphone的系统信息使用[UIDevice currentDevice],信息如下: [[UIDevice currentDevice] systemName]:系统名称,如iPhone OS ...
- IOS 获取最新设备型号方法
1.IOS 获取最新设备型号方法列表最新对照表:http://theiphonewiki.com/wiki/Models方法: #import "sys/utsname.h” struct ...
- 获取iOS设备的型号
获取iOS设备的型号 需要#import "sys/utsname.h" structutsname systemInfo; uname(&systemIn ...
- iOS学习——获取iOS设备的各种信息
不管是在Android开发还是iOS开发过程中,有时候我们需要经常根据设备的一些状态或信息进行不同的设置和性能配置,例如横竖屏切换时,电池电量低时,内存不够时,网络切换时等等,我们在这时候需要进行一些 ...
- 获取ios设备的udid
今天get的第二个技能~~~ UDID指的是设备的唯一设备识别符,ipa包未上架之前如果不添加udid是无法安装成功的.那么如何快速获取ios设备的udid呢? 今天get的方法是用蒲公英,网址:ht ...
- 获取iOS设备唯一标识
[获取iOS设备唯一标识] 1.已禁用-[UIDevice uniqueIdentifier] 苹果总是把用户的隐私看的很重要.-[UIDevice uniqueIdentifier]在iOS5实际在 ...
- Unity3D开发之“获取IOS设备所在的国家代码"
原地址:http://dong2008hong.blog.163.com/blog/static/469688272014021025578/ 在前一段时间游戏开发中需要实现获取IOS设备所在的国家代 ...
- iOS获取设备型号的方法
1. [UIDevice currentDevice].model 自己写的看只抓到模拟器和iPhone.暂时不推荐. 2.自己写的找的方法再添加.直接 NSString * deviceMod ...
随机推荐
- 【转载】TCL装载包和版本控制
转载来源:http://blog.chinaunix.net/uid-9967220-id-3033702.html package forget ?package package ...? ...
- oracle两种导出导入方式,即imp与impdp之比较
尽管使用了很多次impexp及impdpexpdp但是使用起来还是会遇到很多问题,现总结如下: 应用:将一个用户的所有表结构及索引,触发器,过程,函数等导入到另一用户里 imp/exp 导出用户表结构 ...
- Unity3D 之射线检测
这里来记录下射线检测的相关内容: 射线检测故名就是通过射线去检测是否和碰撞器产生了交集,和碰撞器与碰撞器发生交集一样,会返回一个真. 射线的用法很多:比如检测是否跳跃,通过向地面投射射线控制在地面时候 ...
- 搭建eclipse+maven+scala-ide的scala web开发环境
http://www.tuicool.com/articles/NBzAzy 江湖传闻,scala开发的最佳利器乃 JetBrains 的神作 IntelliJ IDEA ,外加构建工具sbt 是也. ...
- ORM中去除反射,添加Expression
之前接触了别人的ORM框架,感觉牛掰到不行,然后试着自己来写自己的ORM. 最初从园子里找到其他人写的反射的例子: List<PropertyInfo> pis = typeof(T).G ...
- Android 使用BaseAdapter 插入不同类型数据
在使用过程有时要在listview中插入不同类型的数据,比如说position=0的位置插入,广告,其它列表显示数据的情况. 一定要重写两种方法 @Override public int getIte ...
- OC中 block 的用法
block 常用于反向传值 声明 返回值类型 (^block)(参数列表) 调用 闭包的名字=^(参数列表){}: 闭包的名字(): 如: void(^aaaaa)(int num,NSString ...
- centos下 forever: 让nodejs应用后台执行
在LINUX中我们可以使用这种简单的方式让node.js在后台运行: nohup node your_app.js & forever可以让我们做得更好,并且可以跨平台的在windows和Li ...
- Java实战之04JavaWeb-04JSP、EL表达式、JSTL标签库
一.jsp部分 只要是与页面显示相关的都是重点 1.jsp的脚本 <%java代码%>:被翻译到service方法内部,局部变量,局部的功能 <%=表达式或变量%>:翻译成se ...
- 11_Servlet基础知识
[概念] Servlet通常被称为服务端小程序,是运行在服务端的程序,用于处理及相应客户端的请求. Servlet是用java语言开发网页动态资源的技术. [特点] 1.Servlet是个特殊的Jav ...