判斷設備是否爲iPhone5的方法

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{
    /*代碼操作*/
}
在網上又找到另外一種方法:
+ (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;  
}  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章