Ios 有没有办法使用sysctl获取iPhone型号?

Ios 有没有办法使用sysctl获取iPhone型号?,ios,objective-c,iphone,model,cpu,Ios,Objective C,Iphone,Model,Cpu,我需要得到型号,例如:对于iPhone 6,我想得到的型号是N61AP,而不是iPhone 7,2。我需要目标c中的这个。 我试过一些方法,但我得到的只是“iPhone7,2”: 如果无法收集此信息,是否有办法找到CPU供应商?谢谢!尝试添加此信息(可能在任何地方都可以,app delegate): 对于我的iPad Air设备,这给了我“J71AP” 如果你真的想要实际的设备名称(例如“iPhone7,2”,或者在我的例子中是“iPad4,1”),那么用“硬件机器”替换“硬件型号”就可以了。尝

我需要得到型号,例如:对于iPhone 6,我想得到的型号是N61AP,而不是iPhone 7,2。我需要目标c中的这个。 我试过一些方法,但我得到的只是“iPhone7,2”: 如果无法收集此信息,是否有办法找到CPU供应商?谢谢!

尝试添加此信息(可能在任何地方都可以,app delegate):

对于我的iPad Air设备,这给了我“J71AP”

如果你真的想要实际的设备名称(例如“iPhone7,2”,或者在我的例子中是“iPad4,1”),那么用“硬件机器”替换“硬件型号”就可以了。

尝试添加此名称(可能在任何地方都可以,应用程序代理):

对于我的iPad Air设备,这给了我“J71AP”

如果你真的想要像实际设备名称一样的东西(例如“iPhone7,2”,或者在我的例子中是“iPad4,1”),用“硬件机器”替换“硬件型号”会给你

+ (NSString *)model
{
    size_t size;
    sysctlbyname("hw.model", NULL, &size, NULL, 0);
    char *model = malloc(size);
    sysctlbyname("hw.model", model, &size, NULL, 0);
    NSString *modelString = [NSString stringWithUTF8String:model]; // could also use shorthand wrapper: '@(model)'
    free(model);
    return modelString;
}