为了账号安全,请及时绑定邮箱和手机立即绑定

如何判断iOS设备硬件型号

如何判断iOS设备硬件型号

iOS
叮当猫咪 2018-07-27 20:25:22
如何判断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;
}


查看完整回答
反对 回复 2018-07-31
  • 3 回答
  • 0 关注
  • 697 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信