ios 区分iphone ipod ipad的方法及获取设备名称。
coding如何区分iphone ipod & ipad 的几种方法
UI_USER_INTERFACE_IDIOM
Returns the interface idiom supported by the current device.#define UI_USER_INTERFACE_IDIOM() \([[UIDevice currentDevice] respondsToSelector:@selector(userInterfaceIdiom)] ? \[[UIDevice currentDevice] userInterfaceIdiom] : \UIUserInterfaceIdiomPhone)
Return Value
UIUserInterfaceIdiomPhone if the device is an iPhone or iPod touch or UIUserInterfaceIdiomPad if the device is an iPad.
1)使用 UI_USER_INTERFACE_IDIOM() 进行区分 (ios 3.2 >=) 无法区分iphone和ipod
if (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad) {
// <define your constants here>
} else {
// <define your constants here>
}
区分目前UI_USER_INTERFACE_IDIOM()有2个返回值
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad //ipad
UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone //ipad
2)使用 UIDevice.model 进行区分 (ios 2.0 >=)
NSString *deviceType = [UIDevice currentDevice].model;
if([deviceType isEqualToString:@"iPhone"]) {
//iPhone
}
else if([deviceType isEqualToString:@"iPod touch"]) {
//iPod Touch
}
else {
//iPad
}
3)使用系统的一个函数sysctlbyname 来获取设备名称
- (NSString *) platformString
{
size_t size;
sysctlbyname("hw.machine", NULL, &size, NULL, 0);
char *machine = malloc(size);
sysctlbyname("hw.machine", machine, &size, NULL, 0);
NSString *platform = [NSString stringWithUTF8String:machine];
free(machine);
if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";
if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4";
if ([platform isEqualToString:@"iPhone3,3"]) return @"Verizon iPhone 4";
if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";
if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";
if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";
if ([platform isEqualToString:@"iPad1,1"]) return @"iPad";
if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)";
if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)";
if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)";
if ([platform isEqualToString:@"i386"]) return @"Simulator";
return @"";
}
ios 区分iphone ipod ipad的方法及获取设备名称。相关推荐
- php 判断苹果还是安卓,PHP简单判断iPhone、iPad、Android及PC设备的方法
本文实例讲述了PHP简单判断iPhone.iPad.Android及PC设备的方法.分享给大家供大家参考,具体如下: 因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备种类多了,下面 ...
- [转]iAP Cracker for iPhone/iPod/iPad
源:http://cydia.myrepospace.com/urus ========================================== iAP Cracker by urus; ...
- iAP Cracker for iPhone/iPod/iPad
源:http://cydia.myrepospace.com/urus ========================================== iAP Cracker by urus; ...
- PHP判断iPhone、iPad、Android、PC设备的方法
因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备种类多了,下面我们一起来看小编整理的一段php判断iPhone.iPad.Android.PC设备的例子. 注意:本代码的PC系统为 ...
- 【Groovy】自定义 Xml 生成器 BuilderSupport ( 继承 BuilderSupport 抽象类 | 在 createNode 方法中获取节点名称、节点属性、节点值信息 )
文章目录 一.继承 BuilderSupport 抽象类 二.在 createNode 方法中获取节点名称.节点属性.节点值信息 三.完整代码示例 1.MyBuilderSupport 生成器代码 2 ...
- 如何将音视频发布到移动设备,android,ios,iphone,ipad等
在现实生活中,手机和移动设备使用地越来越多,如何将音视频点播和直播发布到移动设备,这就涉及到很多相关的知识,比如android接收的音视频有哪些格式,分辨率是什么样子的,而ios设备接收的情况又是什么 ...
- ios 判断iPhone、iPad硬件型号
方法1: #include <sys/sysctl.h> - (NSString *) platform { size_t size; sysctlbyname(& ...
- 『IOS』iPhone和ipad键盘高度及键盘响应事件
原文地址:http://blog.csdn.net/benbenxiongyuan/article/details/7892019 IPAD键盘高度: portrait 264 landscape ...
- ios学习--iPhone/ipod摄像头设备获取
LINK ADDRESS:http://www.cocoachina.com/bbs/read.php?tid=51754&fpage=2 又写了个新版的帖子,看不懂怎么用的看本人这个新贴,在 ...
最新文章
- 二维字符数组按长度排序_字符串长度 字符数组长度
- linux redis安装报错,Linux安装Redis实现过程及报错解决方案
- 外媒:谷歌攻击码由中国作者发布
- 【译】10个有趣的JSCSS库(2018.10)
- Dapper试用简例
- linux网络接口数据重新封包,Linux网络之设备接口层:发送数据包流程dev_queue_xmit...
- 联想计算机型号,联想笔记本所有型号介绍(经典五款推荐)
- C语言:51单片机看这一篇就够了
- EasyUI的基本使用布局
- jq+css3树叶飘散特效
- JavaScript-ES6-基础语法
- js字符串根据某个特殊字符截取字符串
- 1一10到时的英文单词_1到10的英文单词
- 2、软件的生命周期软件测试的工作流程
- AnySim一键解锁教程nbsp;只适用于新iPhone
- c++最佳情侣身高差(来测一测)
- 【3d建模】zbrush教程非常适合零基础入门,一学就会
- ubuntu 17.10 wifi 网速慢的解决办法
- [Qt] Qt自带的modbus client 和 server 例程的拓展
- DNA序列 UVa1368