如何判斷當前iOS設備
作者:佚名
本文為51CTO的各位網(wǎng)友介紹了開發(fā)當中幾種判斷當前iOS設備的實現(xiàn)方法,簡單粗暴的代碼段展現(xiàn),希望對大家能有所幫助。
1.在程序中涉及到全屏的寬高的時候,初始化的時候,代碼中不要寫320和480
- #define Screen_height [[UIScreen mainScreen] bounds].size.height
- #define Screen_width [[UIScreen mainScreen] bounds].size.width
2.使用宏定義方法判斷
- #define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)
- if(iPhone5){
- /*代碼操作*/
- }else{
- /*代碼操作*/
- }
- if([ [ UIDevice currentDevice ] userInterfaceIdiom ] == UIUserInterfaceIdiomPhone ){
- //IPhone設備
- }else{
- //ipad設備
- }
網(wǎng)上還有一種方法:
- + (NSString*)deviceString
- {
- // 需要#import "sys/utsname.h"
- struct utsname systemInfo;
- uname(&systemInfo);
- NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
- if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";
- if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";
- if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";
- if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4";
- if ([deviceString isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";
- if ([deviceString isEqualToString:@"iPhone5,2"]) return @"iPhone 5";
- if ([deviceString isEqualToString:@"iPhone3,2"]) return @"Verizon iPhone 4";
- if ([deviceString isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";
- if ([deviceString isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";
- if ([deviceString isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";
- if ([deviceString isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";
- if ([deviceString isEqualToString:@"iPad1,1"]) return @"iPad";
- if ([deviceString isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)";
- if ([deviceString isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)";
- if ([deviceString isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)";
- if ([deviceString isEqualToString:@"i386"]) return @"Simulator";
- if ([deviceString isEqualToString:@"x86_64"]) return @"Simulator";
- NSLog(@"NOTE: Unknown device type: %@", deviceString);
- return deviceString;
- }
責任編輯:閆佳明
來源:
oschina