2016-04-20 33 views
1

我需要在iOS上獲取CPU信息。我通過代碼iPhone8,1(這是iPhone 6s)執行此操作,但iPhone 6s,6s plus和iPhone SE有兩個不同的處理器,一個是三星(N69uAP),另一個是臺積電(N69AP)生產的。我需要知道我使用的手機中使用了哪種處理器,有誰知道我在這種情況下如何區分它們?我唯一知道的是這些代碼不同(N69uAP和N69AP),但我不知道如何得到它們。這是我做的有每個模型只有一個處理器上了年紀的iPhone:如何獲取iOS上的內部名稱?

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

我得到關於iPhone的信息的網站:https://www.theiphonewiki.com/wiki/Models#iPhone

回答

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更容易。