三种常用的办法获取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设备型号的方法总结的更多相关文章

  1. 获取iOS设备型号iphone ipad

    #import <sys/sysctl.h> //获得设备型号 -(NSString *)getCurrentDeviceModel { int mib[2]; size_t len; c ...

  2. 获取ios设备系统信息的方法 之 [UIDevice currentDevice]

    获取iphone的系统信息使用[UIDevice currentDevice],信息如下: [[UIDevice currentDevice] systemName]:系统名称,如iPhone OS ...

  3. IOS 获取最新设备型号方法

    1.IOS 获取最新设备型号方法列表最新对照表:http://theiphonewiki.com/wiki/Models方法: #import "sys/utsname.h” struct ...

  4. 获取iOS设备的型号

    获取iOS设备的型号 需要#import "sys/utsname.h"     structutsname systemInfo;     uname(&systemIn ...

  5. iOS学习——获取iOS设备的各种信息

    不管是在Android开发还是iOS开发过程中,有时候我们需要经常根据设备的一些状态或信息进行不同的设置和性能配置,例如横竖屏切换时,电池电量低时,内存不够时,网络切换时等等,我们在这时候需要进行一些 ...

  6. 获取ios设备的udid

    今天get的第二个技能~~~ UDID指的是设备的唯一设备识别符,ipa包未上架之前如果不添加udid是无法安装成功的.那么如何快速获取ios设备的udid呢? 今天get的方法是用蒲公英,网址:ht ...

  7. 获取iOS设备唯一标识

    [获取iOS设备唯一标识] 1.已禁用-[UIDevice uniqueIdentifier] 苹果总是把用户的隐私看的很重要.-[UIDevice uniqueIdentifier]在iOS5实际在 ...

  8. Unity3D开发之“获取IOS设备所在的国家代码"

    原地址:http://dong2008hong.blog.163.com/blog/static/469688272014021025578/ 在前一段时间游戏开发中需要实现获取IOS设备所在的国家代 ...

  9. iOS获取设备型号的方法

    1. [UIDevice currentDevice].model   自己写的看只抓到模拟器和iPhone.暂时不推荐. 2.自己写的找的方法再添加.直接  NSString * deviceMod ...

随机推荐

  1. swift 如何使用OC中宏的功能

    swift中没有宏的概念,那么我们在swift使用宏的功能来提高效率呢? 一.使用关键字 let 来声明一个常量 存储相应的值,以下代码声明了常量  myColor 来存储一种指定的颜色 let my ...

  2. 【转】Git代码提交最佳实践

      GIT Commit Good Practice The following document is based on experience doing code development, bug ...

  3. matrix computing optimization schemes

    * stackoverflow: how does BLAS get such extern performance * Howto optimizate GEMM http://wiki.cs.ut ...

  4. NUMA CPU optimization

    technologies:  OS, CPU cache, numa structure, memory access

  5. dedecms获取字段

    在详情页中调用字段使用{dede:field name='title’/} 在列表页调用字段使用: {dede:list} 我是标题:[field:title/],我的的url:[field:youk ...

  6. Activti跳过中间节点的helloworld实例程序

    http://blog.csdn.net/songzheng_741/article/details/17289633 此实例是一个最简单的在运行时人为动态改变流程运转的实例,意在为任意流.驳回等功能 ...

  7. Android中Tomcat的简单配置和使用

    因为学Android已经有一段时间了,但是在学校,服务器方面是个短板啊,没有专门的服务器拿给我们学生练手,所以只有自己找办法了.当然,Tomcat就是不二的选择了. 在网上看了看资料,还是觉得自己记录 ...

  8. SQL Server 2012 中 Update FROM子句

    首先说明一下需求以及环境 创建Table1以及Table2两张表,并插入一下数据 USE AdventureWorks2012; GO IF OBJECT_ID ('dbo.Table1', 'U') ...

  9. mysql安全

    安装MySql时,尽量选择别的端口(默认是3306),密码设复杂一点!在next的步骤中,注意不要选中"允许远程登录". Web漏洞检测及修复 http://wiki.open.q ...

  10. (一)问候Spring4

    第一节:Spring 简介 Spring 作者:Rod Johnson: 官方网站:http://spring.io/ 最新开发包及文档下载地址:http://repo.springsource.or ...