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

时间:2016-04-26 20:42:11

标签: ios objective-c iphone model cpu

我需要获取型号,例如:对于iPhone 6,我想要的型号是N61AP而不是iPhone 7,2。我需要这个目标-c。 我尝试了一些方法,但我得到的只是'iPhone 7,2':( 如果没有办法收集这个,有没有办法让CPU供应商?谢谢!

1 个答案:

答案 0 :(得分:3)

尝试添加此功能(任何地方都可以,也许代表app):

+ (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;
}

对于我的iPad Air设备,这给了我' J71AP'。

如果您真的需要类似实际设备名称的内容(例如' iPhone7,2',或者在我的情况下,' iPad4,1'),请更换" hw。模型"与" hw.machine"会把它给你。