如何在iOS上获取内部名称?

时间:2016-04-20 17:10:40

标签: ios iphone xcode cpu processors

我需要在iOS上获取CPU信息。我通过代码iPhone8,1(这是iPhone 6s)这样做,但iPhone 6s,6s plus和iPhone SE有两个不同的处理器,一个是三星(N69uAP),另一个是由台积电(N69AP)制造。我需要知道我正在使用的手机中使用了什么处理器,有谁知道在这些情况下如何区分它们?我唯一知道的是那些代码区别于他们(N69uAP和N69AP),但我不知道如何获得它们。这就是我在旧款iPhone中所做的事情,每个型号只有一个处理器:

if (([platform isEqualToString:@"iPhone7,1"]) ||([platform isEqualToString:@"iPhone7,2"]))
    return @"T7000";
//this is iPhone 6 

该网站我获得了有关iPhone的信息:https://www.theiphonewiki.com/wiki/Models#iPhone

2 个答案:

答案 0 :(得分:1)

只是一个想法,但也许sysctl可以提供帮助。在我的Mac上运行sysctl会返回此信息(在许多其他行中):

$ sysctl -A | grep cpu ... hw.cputype: 7 hw.cpusubtype: 8 hw.cpufamily: 280134364 hw.cpufrequency: 2600000000 machdep.cpu.vendor: GenuineIntel machdep.cpu.brand_string: Intel(R) Core(TM) i7-4960HQ CPU @ 2.60GHz machdep.cpu.family: 6 machdep.cpu.model: 70 machdep.cpu.extmodel: 4 machdep.cpu.extfamily: 0 ...

我还没有测试iOS上是否有相同的信息,但我认为值得一试。 Matt Gallagher的文章Gathering system information in Swift with sysctl可能有助于了解如何致电sysctl。它针对的是Swift,但在Objective-C中调用sysctl应该更容易。

答案 1 :(得分:0)

仅对示例代码进行采样即可获得内部名称,例如.libPaths("new/directory")

iPhone7,1