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的方法及获取设备名称。相关推荐

  1. php 判断苹果还是安卓,PHP简单判断iPhone、iPad、Android及PC设备的方法

    本文实例讲述了PHP简单判断iPhone.iPad.Android及PC设备的方法.分享给大家供大家参考,具体如下: 因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备种类多了,下面 ...

  2. [转]iAP Cracker for iPhone/iPod/iPad

    源:http://cydia.myrepospace.com/urus ========================================== iAP Cracker by urus; ...

  3. iAP Cracker for iPhone/iPod/iPad

    源:http://cydia.myrepospace.com/urus ========================================== iAP Cracker by urus; ...

  4. PHP判断iPhone、iPad、Android、PC设备的方法

    因为工作需要我们需要知道是什么样了用户访问了我网站了,现在的移动设备种类多了,下面我们一起来看小编整理的一段php判断iPhone.iPad.Android.PC设备的例子. 注意:本代码的PC系统为 ...

  5. 【Groovy】自定义 Xml 生成器 BuilderSupport ( 继承 BuilderSupport 抽象类 | 在 createNode 方法中获取节点名称、节点属性、节点值信息 )

    文章目录 一.继承 BuilderSupport 抽象类 二.在 createNode 方法中获取节点名称.节点属性.节点值信息 三.完整代码示例 1.MyBuilderSupport 生成器代码 2 ...

  6. 如何将音视频发布到移动设备,android,ios,iphone,ipad等

    在现实生活中,手机和移动设备使用地越来越多,如何将音视频点播和直播发布到移动设备,这就涉及到很多相关的知识,比如android接收的音视频有哪些格式,分辨率是什么样子的,而ios设备接收的情况又是什么 ...

  7. ios 判断iPhone、iPad硬件型号

    方法1: #include <sys/sysctl.h> - (NSString *) platform {       size_t size;       sysctlbyname(& ...

  8. 『IOS』iPhone和ipad键盘高度及键盘响应事件

    原文地址:http://blog.csdn.net/benbenxiongyuan/article/details/7892019 IPAD键盘高度: portrait  264 landscape ...

  9. ios学习--iPhone/ipod摄像头设备获取

    LINK ADDRESS:http://www.cocoachina.com/bbs/read.php?tid=51754&fpage=2 又写了个新版的帖子,看不懂怎么用的看本人这个新贴,在 ...

最新文章

  1. 二维字符数组按长度排序_字符串长度 字符数组长度
  2. linux redis安装报错,Linux安装Redis实现过程及报错解决方案
  3. 外媒:谷歌攻击码由中国作者发布
  4. 【译】10个有趣的JSCSS库(2018.10)
  5. Dapper试用简例
  6. linux网络接口数据重新封包,Linux网络之设备接口层:发送数据包流程dev_queue_xmit...
  7. 联想计算机型号,联想笔记本所有型号介绍(经典五款推荐)
  8. C语言:51单片机看这一篇就够了
  9. EasyUI的基本使用布局
  10. jq+css3树叶飘散特效
  11. JavaScript-ES6-基础语法
  12. js字符串根据某个特殊字符截取字符串
  13. 1一10到时的英文单词_1到10的英文单词
  14. 2、软件的生命周期软件测试的工作流程
  15. AnySim一键解锁教程nbsp;只适用于新iPhone
  16. c++最佳情侣身高差(来测一测)
  17. 【3d建模】zbrush教程非常适合零基础入门,一学就会
  18. ubuntu 17.10 wifi 网速慢的解决办法
  19. [Qt] Qt自带的modbus client 和 server 例程的拓展
  20. DNA序列 UVa1368

热门文章

  1. 爬虫学习案例3:数据可视化
  2. 【JVM】元空间与永久代区别
  3. 分形之城--没过,吃宵夜去了,生蚝真好吃
  4. win10更新失败 无法安装 Windows,因为这台电脑的磁盘布局不受UEFI固件支持
  5. 切莫让CDN缓存你的动态文件
  6. Android开发效率提升利器-ButterKnife最全使用详解及ButterKnife插件的使用
  7. 蓝牙耳机型号有哪些?口碑最好的蓝牙耳机
  8. 如何计算游戏客户端与服务器之间的时间延迟?
  9. android+判断wifi+5g,Android判断wifi是5G还是2.4G
  10. 学习淘宝分享出来的链接web检测打开原生App