关于UI_USER_INTERFACE_IDIOM() & UIDevice.model

分类: iOS2013-03-08 14:38 648人阅读 评论(0) 收藏 举报
UI_USER_INTERFACE_ID

使用  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

UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPhone

使用 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

}

使用系统的一个函数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 @"";

}

原文地址:http://blog.sina.com.cn/s/blog_890a737301014fim.html

区分iphone和ipad 函数sysctlbyname 来获取设备名称相关推荐

  1. ios 区分iphone ipod ipad的方法及获取设备名称。

    coding如何区分iphone ipod & ipad 的几种方法 UI_USER_INTERFACE_IDIOM Returns the interface idiom supported ...

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

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

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

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

  4. 各代iphone ipad iPod各种信息 获取设备型号等等整理

    iPhone :  https://www.theiphonewiki.com/wiki/List_of_iPhones#iPhone_X iPad :   https://www.theiphone ...

  5. imessage_如何从iPhone或iPad恢复已删除的iMessage

    imessage If you've ever deleted iMessages and then wanted to get them back, it's not necessarily eas ...

  6. 网上搜集到iOS开发中获取手机IDFA,手机序列号,设备名称,别名,分辨率等信息,这里做个总结

    下述函数中写入获取信息的代码 - (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDict ...

  7. ios获取设备信息,手机型号

    获取手机设备信息 let deviceName = UIDevice.currentDevice().name //获取设备名称 例如:梓辰的手机 let sysName = UIDevice.cur ...

  8. Qt 串口获取串口设备名称

    前言` 最近在用QT弄一个串口上位机,以前用QT做的串口工具在选择串口的时候只能通过串口号选择,在有多个串口设备的时候不是很方便,所以这次就想着搞成选择的时候可以显示串口设备名称的方式. 1.实现效果 ...

  9. ios助手开发系列(三):打开设备连接,获取设备基本信息

    在上一篇文章中,已经讲过了使用AMDeviceNotificationSubscribe函数来监听设备连接状态了 上一篇的连接:http://blog.csdn.net/u011740603/arti ...

  10. 如何获取安卓手机设备名称(包括用户自定义名称)

    获取安卓手机设备名称 最近公司有个需求,需要获取安卓手机的设备名称 搜了一大波资料后发现大多数获取设备名称的方法都是通过android.os.Build这个类拿到的,但是这种方法只能拿到手机型号啊,不 ...

最新文章

  1. 最大流学习笔记(1)
  2. python import问题
  3. 让更多人能够使用Hadoop
  4. Delphi制作图像特殊显示效果
  5. 【POJ - 1001 】Exponentiation (Java大数,高精度)
  6. top结合jstack处理线上cpu飙升问题
  7. db2 jdbc 连接池_jdbc连接db2后getString(XXX)出来的字符串是乱码
  8. 计算机毕业设计Java学生课堂互动教学系统(源码+系统+mysql数据库+lw文档
  9. 数字信号处理 史林 课本答案---第一章
  10. 卡尔曼滤波(Kalman Filtering)——(7)扩展卡尔曼滤波(EKF)一阶滤波
  11. 使用QPainter绘制饼状图,并显示所占百分比
  12. vue3里面高德地图绘制3D图形
  13. 从视频马赛克看编码量化参数对流控的作用
  14. 把幽灵和熔断关闭_比较幽灵和三巨头
  15. P2P追债也用上大数据
  16. Kafka(四).KafkaJAVA 基础API
  17. 微软雅黑与微软正黑体
  18. 搜索的实例——水管工游戏
  19. 华为鸿蒙系统朋友圈扩大,华为发力全屋智能新赛道,能弥补手机下滑留下的空缺吗?...
  20. C# 创建MDB数据库、并存放表格数据的案例

热门文章

  1. speex语音压缩服务端与APP端实践
  2. C语言编程实例(一)
  3. mysql误删数据快速恢复
  4. CodeBlocks 的下载安装
  5. 利用java打印出金字塔原理_《金字塔原理》的读后感作文2500字
  6. matlab保形,保形分段三次hermite插值
  7. html5实现手写签名板,用于电子文档签名
  8. ads2011射频电路设计与仿真实例
  9. matlab中的yalmip工具箱 教程,yalmip工具箱及其教程。凸规划问题如何用yalmip工具箱优化?...
  10. 9、ffplay音频的波谱图及频谱图源码分析