如何判断iOS设备型号,比如iPhone5.现在我的做法是写了个宏:#define iPhone5 ([UIScreen instancesRespondToSelector:@selector(currentMode)] ? CGSizeEqualToSize(CGSizeMake(640, 1136), [[UIScreen mainScreen] currentMode].size) : NO)API中直接有方法可以调用吗?
3 回答
largeQ
TA贡献2039条经验 获得超7个赞
+ (NSString*)getMachine{ size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *name = malloc(size); sysctlbyname("hw.machine", name, &size, NULL, 0); NSString *machine = [NSString stringWithCString:name encoding:NSUTF8StringEncoding]; free(name); if( [machine isEqualToString:@"i386"] || [machine isEqualToString:@"x86_64"] ) machine = @"ios_Simulator"; else if( [machine isEqualToString:@"iPhone1,1"] ) machine = @"iPhone_1G"; else if( [machine isEqualToString:@"iPhone1,2"] ) machine = @"iPhone_3G"; else if( [machine isEqualToString:@"iPhone2,1"] ) machine = @"iPhone_3GS"; else if( [machine isEqualToString:@"iPhone3,1"] ) machine = @"iPhone_4"; else if( [machine isEqualToString:@"iPod1,1"] ) machine = @"iPod_Touch_1G"; else if( [machine isEqualToString:@"iPod2,1"] ) machine = @"iPod_Touch_2G"; else if( [machine isEqualToString:@"iPod3,1"] ) machine = @"iPod_Touch_3G"; else if( [machine isEqualToString:@"iPod4,1"] ) machine = @"iPod_Touch_4G"; else if( [machine isEqualToString:@"iPad1,1"] ) machine = @"iPad_1"; else if( [machine isEqualToString:@"iPad2,1"] ) machine = @"iPad_2"; return machine; }
- 3 回答
- 0 关注
- 697 浏览
添加回答
举报
0/150
提交
取消