首页 > 代码库 > IOS 特定于设备的开发:UIDevice

IOS 特定于设备的开发:UIDevice

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);

其输出值

2014-12-22 10:22:00.301 UIDeviceTest[2526:885673] systemName :iPhone OS2014-12-22 10:22:00.303 UIDeviceTest[2526:885673] systemVersion :8.1.22014-12-22 10:22:00.304 UIDeviceTest[2526:885673] model :iPhone2014-12-22 10:22:00.304 UIDeviceTest[2526:885673] localizedModel:iPhone2014-12-22 10:22:00.304 UIDeviceTest[2526:885673] userInterfaceIdiom:02014-12-22 10:22:00.409 UIDeviceTest[2526:885673] name:“tato”的 iPhone

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

#define IS_IPAD (UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad)

 

IOS 特定于设备的开发:UIDevice