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

  做自定义键盘,首先要适配所有的设备,所以在这里就要知道用户使用的是哪一款手机,下面总结了几种获取设备型号的方法;

  PS:这些也是我在网上自己找的,以防不时之需。

  方法一:

 1 //***宏定义
 2 /*[UIScreen instancesRespondToSelector:@selector(currentMode)];
 3 判断UIScreen 类中是否包含currentMode这个方法,
 4 若存在则调用CGSizeEqualToSize比较2个size大小是否相同,
 5 若相同返回yes,否则返回no。
 6 */
 7 #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
 8 然后:
 9 if(iPhone5){
10 //***具体操作
11 }else{
12
13 //***具体操作
14
15 }

  方法二:

1 #define Screen_height   [[UIScreen mainScreen] bounds].size.height
2 #define Screen_width    [[UIScreen mainScreen] bounds].size.width 

  方法三:

  PS:注意,需要#import "sys/utsname.h"

 1  + (NSString*)deviceString
 2 {
 3     // 需要#import "sys/utsname.h"
 4     struct utsname systemInfo;
 5     uname(&systemInfo);
 6     NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
 7
 8     if ([deviceString isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";
 9     if ([deviceString isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";
10     if ([deviceString isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";
11     if ([deviceString isEqualToString:@"iPhone3,1"])    return @"iPhone 4";
12     if ([deviceString isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";
13     if ([deviceString isEqualToString:@"iPhone5,2"])    return @"iPhone 5";
14     if ([deviceString isEqualToString:@"iPhone3,2"])    return @"Verizon iPhone 4";
15     if ([deviceString isEqualToString:@"iPod1,1"])      return @"iPod Touch 1G";
16     if ([deviceString isEqualToString:@"iPod2,1"])      return @"iPod Touch 2G";
17     if ([deviceString isEqualToString:@"iPod3,1"])      return @"iPod Touch 3G";
18     if ([deviceString isEqualToString:@"iPod4,1"])      return @"iPod Touch 4G";
19     if ([deviceString isEqualToString:@"iPad1,1"])      return @"iPad";
20     if ([deviceString isEqualToString:@"iPad2,1"])      return @"iPad 2 (WiFi)";
21     if ([deviceString isEqualToString:@"iPad2,2"])      return @"iPad 2 (GSM)";
22     if ([deviceString isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";
23     if ([deviceString isEqualToString:@"i386"])         return @"Simulator";
24     if ([deviceString isEqualToString:@"x86_64"])       return @"Simulator";
25     NSLog(@"NOTE: Unknown device type: %@", deviceString);
26     return deviceString;
27 }  

 1  + (NSString*)deviceString
 2  2 {
 3  3     // 需要#import "sys/utsname.h"
 4  4     struct utsname systemInfo;
 5  5     uname(&systemInfo);
 6  6     NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
 7  7
 8  8     if ([deviceString isEqualToString:@"iPhone1,1"])    return @"iPhone 1G";
 9  9     if ([deviceString isEqualToString:@"iPhone1,2"])    return @"iPhone 3G";
10 10     if ([deviceString isEqualToString:@"iPhone2,1"])    return @"iPhone 3GS";
11 11     if ([deviceString isEqualToString:@"iPhone3,1"])    return @"iPhone 4";
12 12     if ([deviceString isEqualToString:@"iPhone4,1"])    return @"iPhone 4S";
13 13     if ([deviceString isEqualToString:@"iPhone5,2"])    return @"iPhone 5";
14 14     if ([deviceString isEqualToString:@"iPhone3,2"])    return @"Verizon iPhone 4";
15 15     if ([deviceString isEqualToString:@"iPod1,1"])      return @"iPod Touch 1G";
16 16     if ([deviceString isEqualToString:@"iPod2,1"])      return @"iPod Touch 2G";
17 17     if ([deviceString isEqualToString:@"iPod3,1"])      return @"iPod Touch 3G";
18 18     if ([deviceString isEqualToString:@"iPod4,1"])      return @"iPod Touch 4G";
19 19     if ([deviceString isEqualToString:@"iPad1,1"])      return @"iPad";
20 20     if ([deviceString isEqualToString:@"iPad2,1"])      return @"iPad 2 (WiFi)";
21 21     if ([deviceString isEqualToString:@"iPad2,2"])      return @"iPad 2 (GSM)";
22 22     if ([deviceString isEqualToString:@"iPad2,3"])      return @"iPad 2 (CDMA)";
23 23     if ([deviceString isEqualToString:@"i386"])         return @"Simulator";
24 24     if ([deviceString isEqualToString:@"x86_64"])       return @"Simulator";
25 25     NSLog(@"NOTE: Unknown device type: %@", deviceString);
26 26     return deviceString;
27 27 }  

时间: 2024-08-25 13:15:30

获取iOS设备的型号(iPhone4,iphone5,iPhone5s......)的相关文章

获取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 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,在项目开发

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

获取IOS 设备基本信息

原地址:http://www.cnblogs.com/U-tansuo/p/ios_basis_info.html 1.获取设备类型  (Iphone/ipad 几?) #import "sys/utsname.h" -(NSString*)getDeviceVersion{    struct utsname systemInfo;    uname(&systemInfo);    NSString *deviceString = [NSString stringWithC

获取iOS设备唯一标识

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

获取IOS设备的电量信息:Battery Level

本文介绍了如何通过API获取IOS设备的电量信息. 移动设备的电量消耗一直是一个大问题,APP开发中也不可避免地需要收集APP运行时的电量消耗信息,这也是APP性能的衡量标准之一. 首先需要打开iphone设置中的电量统计. 1.通过Instruments获取 Instruments工具自带的Energy Diagnostics工具可以获取到iphone特定时段的电量消耗信息.具体步骤: 打开Developer选项中的Start Logging -> 断开iphone与PC连接 -> 一系列的

获取iOS设备键盘高度

最近做了一个自定义键盘,首先是要知道iOS设备各种键盘的高度,下面就来说一下怎么获取键盘的高度. 主要是利用键盘弹出时的通知. 1.首先先随便建一个工程. 2.在工程的 -(void)viewDidload;函数中添加键盘弹出和隐藏的通知,具体代码如下: 1 //增加监听,当键盘出现或改变时收出消息 2 [[NSNotificationCenter defaultCenter] addObserver:self 3 selector:@selector(keyboardWillShow:) 4

【转】iOS设备的UDID是什么?苹果为什么拒绝获取iOS设备UDID的应用?如何替代UDID?

本文讲诉的主要是为什么苹果2011年8月发布iOS 5后就开始拒绝App获取设备的UDID以及UDID替补方案,特别提醒开发者苹果App Store禁止访问UDID的应用上架(相关推荐:APP被苹果App Store拒绝的N个原因),下面先来了解下UDID. 一.UDID是什么? UDID的全称是Unique Device Identifier,顾名思义,它就是苹果IOS设备的唯一识别码,它由40个字符的字母和数字组成. 二.UDID有什么用? 移动网络可利用UDID来识别移动设备,如iPhon