我需要获得iOS上的CPU信息。我是通过代码iPhone 8,1(这是iPhone 6s)实现的,但是iPhone 6s、6s plus和iPhone SE有两个不同的处理器,一个是由三星(N69uAP)制造的,另一个是由台积电(N69AP)制造的。我需要知道在我正在使用的电话中使用的是什么处理器,有人知道在这种情况下我如何区分它们吗?我只知道这些代码区别了它们(N69uAP和N69AP),但我不知道如何获得它们。这就是我在旧的iPhones中所做的工作,它每个模型只有一个处理器:
if (([platform isEqualToString:@"iPhone7,1"]) ||([platform isEqualToString:@"iPhone7,2"]))
return @"T7000";
//this is iPhone 6 我得到的关于iPhones:https://www.theiphonewiki.com/wiki/Models#iPhone的信息
发布于 2016-04-21 09:18:18
只是一个主意,但也许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的文章用sysctl在Swift中采集系统信息可能有助于了解如何调用sysctl。它的目标是Swift,但是在Objective中叫sysctl应该更容易。
发布于 2018-11-21 13:18:00
示例代码只是为了获得内部名称(如iPhone7,1 )
#import <sys/utsname.h>
@interface UIDevice (InternalName)
- (NSString*) internalModelName;
@end
@implementation UIDevice (InternalName)
- (NSString*) internalModelName {
struct utsname systemInfo;
uname(&systemInfo);
return [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding];
}
@endhttps://stackoverflow.com/questions/36750699
复制相似问题