2017-04-21 47 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

相關問題