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 OS 2014-12-22 10:22:00.303 UIDeviceTest[2526:885673] systemVersion :8.1.2 2014-12-22 10:22:00.304 UIDeviceTest[2526:885673] model :iPhone 2014-12-22 10:22:00.304 UIDeviceTest[2526:885673] localizedModel:iPhone 2014-12-22 10:22:00.304 UIDeviceTest[2526:885673] userInterfaceIdiom:0 2014-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)