UIDevice类展示了一些关键的特定于设备的属性,包括使用的iPhone ,Ipad或iPod Touch型号、设备名称、以及OS名称和版本。

他是一种一站式解决方案,用于提取出某些系统详细信息。每个方法都是一个实例方法,他们是使用UIDevice单例通过[UIDevice currentDevice]调用的。

可以通过UIDevice获取的系统信息包括下面的这些项。

1.systemName:它用于返回当前使用的操作系统的名称。对于目前这一代IOS设备,在平台上只运行一种OS:iPhone OS.

2.systemVersion:这个值将列出单元上目前安装的固定版本。

3.model:iPhone 型号返回一个描述其平台的字符串,既iPhone、iPad和iPod Touch.如果将IOS扩展到新设备上,将使用额外的字符串描述这些型号。localizedModel提供了该属性的本地化版本。

4.userInterfaceIdiom:这个属性表示当前设备上使用的界面风格,既iPhone或iPad.当Apple提供另外的平台风格时,可能会引入其他的用语。

5.name:这个字符串由用户指定的iPhone名称,这个名称也用于创建设备的本地主机名。

    UIDevice *device = [UIDevice currentDevice];
NSLog(@"systemName :%@",device.systemName);
NSLog(@"systemVersion :%@",device.systemVersion);
NSLog(@"model :%@",device.model);
NSLog(@"localizedModel:%@",device.localizedModel);
NSLog(@"userInterfaceIdiom:%d",device.userInterfaceIdiom);
NSLog(@"name:%@",device.name);

其输出值

-- ::00.301 UIDeviceTest[:] systemName :iPhone OS
-- ::00.303 UIDeviceTest[:] systemVersion :8.1.
-- ::00.304 UIDeviceTest[:] model :iPhone
-- ::00.304 UIDeviceTest[:] localizedModel:iPhone
-- ::00.304 UIDeviceTest[:] userInterfaceIdiom:
-- ::00.409 UIDeviceTest[:] name:“tato”的 iPhone

对于当前的IOS版本,可以利用一个简单的布尔测试进行风格检查。下面示例如何实现iPad检查。它用于测试选择器一致性,如果可能,将会返回[UIDevice currentDevice].userInterfaceIdiom,否则,返回UIUserInterfaceIdiomPhone.

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

IOS 特定于设备的开发:UIDevice的更多相关文章

  1. IOS 特定于设备的开发:处理基本方向

    UIDevice类使用内置的orientation属性获取设备的物理方向.IOS设备支持这个属性的7个可能的值. >UIDeviceOrientationUnknown:方向目前未知. > ...

  2. IOS 特定于设备的开发:Info.plist属性列表的设置

    应用程序的Info.plist属性列表使你能够在向iTunes提交应用程序时指定应用程序的要求.这些限制允许告诉iTunes应用程序需要哪些设备特性. 每个IOS单元都会提供一个独特的特性集.一些设备 ...

  3. IOS 特定于设备的开发:Core Motion基础

    Core Motion框架集中了运动数据处理.该框架是在IOS 4 SDK中引入的,用于取代accelerometer加速计访问.它提供了对3个关键的机载传感器的集中式监测.这些传感器有陀螺仪.磁力计 ...

  4. IOS 特定于设备的开发:检查设备接近度和电池状态

    UIDevice类提供了一些API,使你能够跟踪设备的特征,包括电池的状态和接近度传感器.他们二者都以通知的形式提供更新,可以订阅他们,以便在有重要的更新时通知你的应用程序. 1>启动和禁用接近 ...

  5. IOS 特定于设备的开发:获取和使用设备姿势(通过手机方向控制3d物体显示)

    利用设备的机载陀螺仪可以实现,当你旋转手机屏幕时,里面的画面不会随着视图更新而移动,以平衡物理运动. 下面例子利用少量简单的几何变换执行该操作.他建立一个运动管理器,订阅设备运动更新,然后基于运动管理 ...

  6. IOS 特定于设备的开发:基于加速计的滚动视图

    倾斜滚轮使用设备的内置加速计来控制在UIScrollView的内容周围移动.当用户调增设备时,材料会相应的下落,他不会把视图定位在屏幕上,而是把内容视图滚动到一个新的偏移位置. 创建这个界面的挑战在于 ...

  7. IOS 特定于设备的开发:获取额外的设备信息

    sysctl()和sysctlbyname()允许获取系统信息.这些标准的UNIX函数用于询问操作系统有关硬件和OS的详细信息. 这些常量使你能够检查核心信息,比如系统的CPU频率,可用的内存量等.它 ...

  8. IOS 特定于设备的开发:监测Retina支持

    近年来,Apple在其旗舰设备上引入了Retina显示屏.根据Apple的说法,他的像素密度非常高,足以使人眼无法区分单独的像素. UIScreen类提供了一种容易的方式,用于监查当前设备是否提供了内 ...

  9. IOS 特定于设备的开发:使用加速器启动屏幕上的对象

    借助一点编程工作,iPhone的机载加速计就可以使对象在屏幕上四处“移动”,实时响应用户倾斜手机的方式.下面的代码就是创建一个动画式的蝴蝶,用户可以使之快速移过屏幕. 使之工作的秘密在于:向程序中添加 ...

随机推荐

  1. 从零单排PAT1015,1016,1017,1018

    1015德才论 题目要求: 输入格式: 输入第1行给出3个正整数,分别为:N(<=105),即考生总数.L(>=60).为录取最低分数线,即德分和才分均不低于L的考生才有资格被考虑录取:H ...

  2. pywebkitgtk安装出现的问题

    configure 文件里 print sys.prefix 等不能支持python3的原因 依据http://blog.csdn.net/jklfjsdj79hiofo/article/detail ...

  3. Asp.net的对Excel文档的导入导出操作

    刚刚初入职场,在休闲的时间写下了项目中用到的对Excel文档操作的方法以及总结,多的不说,直接上代码 public static void CreateExcel(DataSet ds, string ...

  4. CheckBox只选择一项

    最近做一个问卷的页面,客户那边说要使用checkbox而且只能选择一项 就写了下面的代码 <html xmlns="http://www.w3.org/1999/xhtml" ...

  5. sql中复合组建解析

    每个表只能有一个主键 唯一键/约束可以多个 复合主键是指复合唯一,比如: 1 1 1 2 2 1 2 2 单看任何一列都不是唯一,但组合起来就是唯一的. Create Table 表名 (字段名1 I ...

  6. NSURLSessionConfiguration的简单实用

    NSURLSessionConfiguration 基于前面学习了NSURLSession的知识,这边文章就讲下NSURLSessionConfiguration相关应用,(这名字可真长). 简而言之 ...

  7. [Swust OJ 1139]--Coin-row problem

    题目链接:  http://acm.swust.edu.cn/contest/0226/problem/1139/ There is a row of n coins whose values are ...

  8. mlpack:可伸缩C++机器学习库(转)

    摘要:mlpack是一个可伸缩C++机器学习库,它的目的是让新用户通过简单.一致的API使用机器学习,同时为专业用户提供C++的高性能和最大灵活性. mlpack是一个直观.快速.可伸缩的C++机器学 ...

  9. java堆溢出的小栗子

    package com.xiaoysec.test; import java.util.ArrayList; import java.util.List; /** *VM Args:-verbose: ...

  10. Struts2相关注意点

    今天开始学习Struts2,有一个小栗子用到了DMI动态方法调用,使用DMI可以减少action的数量简化程序,不用在struts.xml的action中定义method属性.刚开始怎么也不能使用DM ...