了解设备类型 – 视网膜/非视网膜
可能重复:
检测视网膜显示
我们怎么知道设备是否有来自客观C代码的视网膜显示器?
if ([[UIScreen mainScreen] respondsToSelector:@selector(scale)] && [[UIScreen mainScreen] scale] >= 2.0) { // Retina } else { // Not Retina }
您可以检查[UIScreen mainScreen]
上的scale
属性,如果它是在视网膜上运行的2.0,如果它是1.0则不是。 您还可以从当前的CoreGraphics上下文中获取比例。
我不认为你可以直接确定。 您必须从可以从sysctlbyname获取的模型信息中推断出它(请参阅iOS手册页)。 例如:
sysctlbyname("hw.machine", NULL, &size, NULL, 0); char *machine = malloc(size); sysctlbyname("hw.machine", machine, &size, NULL, 0);
会给你一个字符串,如“iPhone3,1”,它有一个视网膜显示,或“iPhone 2,1”没有。