2017-04-21 87 views
8

我有一个具有多种实现的一些加密代码,选择哪一个实现在运行时根据其上运行的CPU的功能。将Windows,Linux和Android轻松移植到目前为止已经很简单。是否有一个API来检测iOS上的CPU功能?

但iOS版似乎并不容易。虽然x86 CPU使用cpuid指令来检测功能,即使在用户模式下,ARM等效也是有特权的。没有OS合作,无法在ARM上检测CPU功能。

在Windows中,IsProcessorFeaturePresent作品用于检测ARM CPU的功能。在Linux上,/proc/cpuinfo是要走的路。 Android有一个cpufeatures库(并且/proc/cpuinfo仍然可以工作)。 Mac OS有sysctlbynamehw.optional.*

但是,我们的iOS? iOS的内核hw.optional.*喜欢Mac OS,但它在iOS的10(。因此,我的问题是不是this one重复,因为情况已经从此改变)也locked down,得到这些名单似乎很难 - 苹果的开源Web网站运行一个自动化过程,以清除他们公开发布的操作系统源代码中的所有ARM特定代码,以便让越狱工作更加努力。

回答

0

iOSsysctlAPI允许获得大量的系统信息,包括CPU模型MA,E从中可以推导出其功能。 Here是使用sysctlSwift一个不错的文章。

你也可以看看SystemKitPFSystemKit

相关问题