Detect cpusubtype iPhone

Detect cpusubtype iPhone

本文关键字:iPhone cpusubtype Detect      更新时间:2023-10-16

我试图获得我的应用程序正在运行的设备的cpusubtype。是否有可能只得到cpusubtype?参考此:检测处理器ArmV7 vs ArmV7s。objective - c

sysctlbyname("hw.cpusubtype", &value, &length, NULL, 0);

会返回9、11、12、64这样的数字吗?如果是,我可以直接使用

吗?
if hw.cpusubtype(64){
//code for arm64
}

线程检测处理器ArmV7 vs ArmV7s的代码。链接到

的Objective-C
int32_t value = 0;
size_t length = sizeof(value);
sysctlbyname("hw.cpusubtype", &value, &length, NULL, 0);

将CPU子类型放入value变量中,因此您可以将其与<mach/machine.h>中定义的子类型,例如:

if (value == CPU_SUBTYPE_ARM_V7) {
    // ...        
}

但是如果你的目的是检查你的应用程序是在32位还是64位上运行处理器,那么你必须得到"cputype",而不是"cpusubtype",如演示所示这里https://stackoverflow.com/a/20105134/1187415:

sysctlbyname("hw.cputype", &value, &length, NULL, 0);
if (value == CPU_TYPE_ARM64) {
    // ARM 64-bit CPU
} else if (value == CPU_TYPE_ARM) {
    // ARM 32-bit CPU
} else {
    // Something else.
}