获取iOS设备名/分辨率
//https://github.com/SVGKit/SVGKit //SVGKit -> SVGLength.m size_t size; sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0); NSString *platform = [NSString stringWithUTF8String:machine]; free(machine); if( [platform hasPrefix:@"iPhone1"] || [platform hasPrefix:@"iPhone2"] || [platform hasPrefix:@"iPhone3"]) return 163.0f; if( [platform hasPrefix:@"iPhone4"] || [platform hasPrefix:@"iPhone5"] || [platform hasPrefix:@"iPhone6"]) return 326.0f; // // For iPhone6+ // Added by Gerry 2014.11.22 10:12 // // Note: iPhone6 326ppi if( [platform hasPrefix:@"iPhone7"]) { return 401.0f; } if( [platform hasPrefix:@"iPhone"]) // catch-all for higher-end devices not yet existing { NSAssert(FALSE, @"Not supported yet: you are using an iPhone that didn‘t exist when this code was written, we have no idea what the pixel count per inch is!"); return 326.0f; } if( [platform hasPrefix:@"iPod1"] || [platform hasPrefix:@"iPod2"] || [platform hasPrefix:@"iPod3"]) return 163.0f; if( [platform hasPrefix:@"iPod4"] || [platform hasPrefix:@"iPod5"]) return 326.0f; if( [platform hasPrefix:@"iPod"]) // catch-all for higher-end devices not yet existing { NSAssert(FALSE, @"Not supported yet: you are using an iPod that didn‘t exist when this code was written, we have no idea what the pixel count per inch is!"); return 326.0f; } if( [platform hasPrefix:@"iPad1"] || [platform hasPrefix:@"iPad2"]) return 132.0f; if( [platform hasPrefix:@"iPad3"] || [platform hasPrefix:@"iPad4"]) return 264.0f; if( [platform hasPrefix:@"iPad"]) // catch-all for higher-end devices not yet existing { NSAssert(FALSE, @"Not supported yet: you are using an iPad that didn‘t exist when this code was written, we have no idea what the pixel count per inch is!"); return 264.0f; } if( [platform hasPrefix:@"x86_64"]) { DDLogWarn(@"[%@] WARNING: you are running on the simulator; it‘s impossible for us to calculate centimeter/millimeter/inches units correctly", [self class]); return 132.0f; // Simulator, running on desktop machine }
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。