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)