iOS:如何确定CPU类型,例如A4或A5,或指令集架构arm6或arm7?

时间:2011-09-22 03:15:54

标签: iphone ios ipad arm

Apple是否提供了可以访问此信息的API?

ARM是否具有与我可以在asm块中使用的x86 CPUID指令等效的内容?

感谢。

2 个答案:

答案 0 :(得分:1)

Erica Sadun撰写了许多有用的问题。我会开始检查你的uidevice扩展代码,看看你是否能找到你想要的东西。

https://github.com/erica/uidevice-extension

另外,正如Gapton所说,请记住,某些设备查询不会获得App Store的批准,尤其是未发布的设备,但可以使用相当数量的设备查询。

答案 1 :(得分:0)

我需要CPU型号信息和指令集。所以我尝试做到尽可能简单:

std::string GetCPUModel()
{
    // you can compare results with https://www.theiphonewiki.com/wiki/List_of_iPhones

    struct utsname systemInfo;
    uname(&systemInfo);

    std::string version(systemInfo.version);

    size_t cpuModelPos = version.find("RELEASE_");

    if (cpuModelPos != String::npos)
    {
        // for example: will return "ARM64_S8000" - for iPhone S6 plus
        return version.substr(cpuModelPos + strlen("RELEASE_"));
    }

    return {};
}