您的位置:首页 > 移动开发 > IOS开发

如何判断当前iOS设备

2013-12-24 14:40 239 查看

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设备
}


网上还有一种方法:

+ (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;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: