如何通过代码查找iPhone / iPod设备型号(3G,3GS,4,4S)? [重复]

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何通过代码查找iPhone / iPod设备型号(3G,3GS,4,4S)? [重复]相关的知识,希望对你有一定的参考价值。

可能重复: Determine device (iPhone, iPod Touch) with iOS

我试图获得当前的设备型号名称,如3G,3GS,4,4S,iPodTouch(不同世代)。但是,到目前为止,我无法得到确切的结果。你能帮我找一下设备型号吗?在这里,我附上了我用于获取设备模型的代码。

UIDevice *device = [UIDevice currentDevice];
NSString *deviceVersion = [device systemVersion];//Return 4.0.1 and 5.0.1
NSString *deviceName = [device systemName];//Return iPhone, iPod Touch

如何获得3G,3GS,4,4S,iPod Touch,iPad等设备型号?

答案
#import <sys/utsname.h>

NSString*
machineName()
{
    struct utsname systemInfo;
    uname(&systemInfo);

    return [NSString stringWithCString:systemInfo.machine
                              encoding:NSUTF8StringEncoding];
}

结果应该是:

@"i386"      on the simulator
@"iPod1,1"   on iPod Touch
@"iPod2,1"   on iPod Touch Second Generation
@"iPod3,1"   on iPod Touch Third Generation
@"iPod4,1"   on iPod Touch Fourth Generation
@"iPhone1,1" on iPhone
@"iPhone1,2" on iPhone 3G
@"iPhone2,1" on iPhone 3GS
@"iPad1,1"   on iPad
@"iPad2,1"   on iPad 2
@"iPhone3,1" on iPhone 4
@"iPhone4,1" on iPhone 4S
另一答案

github上有一个库可以做到这一点。看到这个链接:

https://github.com/erica/uidevice-extension

以上是关于如何通过代码查找iPhone / iPod设备型号(3G,3GS,4,4S)? [重复]的主要内容,如果未能解决你的问题,请参考以下文章

检测特定的iPhone / iPod touch型号[重复]

如何识别设备(iPod touch/iPhone)是 2G 还是 3G?

如何确定 iphone / ipad / ipod / appletv 是不是较旧、较新或等于同系列的其他设备?

ipod touch4 的型号MC540、MC544、MC547和MD058(CH/A)各代表啥意思?哪种好

阻止除 iPhone、iPod 和 iPAD 以外的移动设备和台式机

如何在其他人的 iphone/ipod touch 设备上安装我的应用程序