确定正在模拟的iOS设备

时间:2014-03-15 17:25:17

标签: ios ios-simulator

This question提供了一种确定正在使用的真实设备的绝佳方法。但是当在模拟器上运行时我想检测我是否在视网膜或64位版本上运行,那么我可以触发特殊逻辑呢?

2 个答案:

答案 0 :(得分:2)

您可以通过查看[UIScreen mainScreen].scale的值来确定设备(或模拟器)是否为视网膜。如果它是1,它是非视网膜。如果它是2,那就是视网膜。

可能有几种方法可以检测64/32位。一种方法是:

if (sizeof(CGFloat) == sizeof(double)) {
    // 64-bit
} else {
    // 32-bit
}

请注意,这会检查应用,而不是设备。 32位应用程序将在64位设备上运行。如果应用程序构建为支持64位且设备为64位,则上述代码仅返回true。

答案 1 :(得分:0)

您可以通过检查scale的{​​{1}}来检测设备/模拟器是否为视网膜。

要确定运行时的CPU类型,可以使用:

[UIScreen mainScreen]

...

#include <mach/mach_host.h>