获取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

时间: 2024-10-15 14:22:29

获取iOS设备型号的方法总结的相关文章

获取iOS设备型号iphone ipad

#import <sys/sysctl.h> //获得设备型号 -(NSString *)getCurrentDeviceModel { int mib[2]; size_t len; char *machine; mib[0] = CTL_HW; mib[1] = HW_MACHINE; sysctl(mib, 2, NULL, &len, NULL, 0); machine = malloc(len); sysctl(mib, 2, machine, &len, NULL,

iOS开发中,获取iOS设备型号

1.首先要导入头文件 #import <sys/utsname.h> 2.代码如下 - (NSString *)getDeviceVersionInfo{ struct utsname systemInfo; uname(&systemInfo); NSString *platform = [NSString stringWithFormat:@"%s", systemInfo.machine]; //    //返回  iPhone iPod iPad //   

获取IOS设备型号的代码

+ ( NSString *)deviceString {      // 需要#import "sys/utsname.h"      struct utsname systemInfo;      uname(&systemInfo);      NSString *deviceString = [ NSString stringWithCString:systemInfo.machine encoding: NSUTF8StringEncoding ];         

iOS 获取最新设备型号方法

1.IOS 获取最新设备型号方法 列表最新对照表:http://theiphonewiki.com/wiki/Models 方法: #import "sys/utsname.h" struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];

获取iOS设备的型号(iPhone4,iphone5,iPhone5s......)

做自定义键盘,首先要适配所有的设备,所以在这里就要知道用户使用的是哪一款手机,下面总结了几种获取设备型号的方法: PS:这些也是我在网上自己找的,以防不时之需. 方法一: 1 //***宏定义 2 /*[UIScreen instancesRespondToSelector:@selector(currentMode)]; 3 判断UIScreen 类中是否包含currentMode这个方法, 4 若存在则调用CGSizeEqualToSize比较2个size大小是否相同, 5 若相同返回yes

获取iOS设备的型号

获取iOS设备的型号 需要#import "sys/utsname.h"     structutsname systemInfo;     uname(&systemInfo);     NSString*deviceString = [NSStringstringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];          if([deviceString isEqualToString:@&

【转】:获取IOS设备的型号

[转]:http://www.oschina.net/code/snippet_2247606_39106 获取IOS设备的型号 //获得设备型号 + (NSString *)getCurrentDeviceModel:(UIViewController *)controller { int mib[2]; size_t len; char *machine; mib[0] = CTL_HW; mib[1] = HW_MACHINE; sysctl(mib, 2, NULL, &len, NUL

获取iOS设备唯一标识

[获取iOS设备唯一标识] 1.已禁用-[UIDevice uniqueIdentifier] 苹果总是把用户的隐私看的很重要.-[UIDevice uniqueIdentifier]在iOS5实际在iOS5的时候已经被遗弃了,但是iOS7中已经完全的禁用了它.Xcode5甚至不会允许你编译包含了指引到-[UIDevice uniqueIdentifier]的app.此外,iOS7之前的使用了-[UIDevice uniqueIdentifier] 的app如果在iOS7上运行,它不会返回设备的

远程获取iOS设备的屏幕截图

一个远程获取iOS设备屏幕的例子,Client采用TCP连接iOS设备的2115端口,然后读取PNG格式的数据流. +VSRemoteScreen.h +VSRemoteScreen.m 添加到你的iOS项目中,然后在App启动时调用startScreenServer函数. +client.php client示例文件 [1].[代码] RemoteScreen 跳至 [1] [2] ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21