检测设备是否为iPhone 5s

时间:2013-11-10 08:26:39

标签: ios objective-c iphone

我正面临一个问题,我需要找出用于分析目的的设备类型。

所以我需要找到一种方法来检查设备是否是iPhone 5s!

任何想法。 谢谢

1 个答案:

答案 0 :(得分:21)

使用GBDeviceInfo

将其添加到您的pod文件并运行pod install

pod GBDeviceInfo

确定它是否是iPhone 5s:

if (deviceInfo.model == GBDeviceModeliPhone5s) {
   NSLog(@"It's a 5s");   //It's an iPhone 5s
}

按代码:

#import <sys/utsname.h>
/*
    @"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
    @"iPod5,1"   on iPod Touch Fifth Generation
    @"iPhone1,1" on iPhone
    @"iPhone1,2" on iPhone 3G
    @"iPhone2,1" on iPhone 3GS
    @"iPad1,1"   on iPad
    @"iPad2,1"   on iPad 2
    @"iPad3,1"   on 3rd Generation iPad
    @"iPad3,2":  on iPad 3(GSM+CDMA)
    @"iPad3,3":  on iPad 3(GSM)
    @"iPad3,4":  on iPad 4(WiFi)
    @"iPad3,5":  on iPad 4(GSM)
    @"iPad3,6":  on iPad 4(GSM+CDMA)
    @"iPhone3,1" on iPhone 4
    @"iPhone4,1" on iPhone 4S
    @"iPhone5,1" on iPhone 5
    @"iPad3,4"   on 4th Generation iPad
    @"iPad2,5"   on iPad Mini
    @"iPhone5,1" on iPhone 5(GSM)
    @"iPhone5,2" on iPhone 5(GSM+CDMA)
    @"iPhone5,3  on iPhone 5c(GSM)
    @"iPhone5,4" on iPhone 5c(GSM+CDMA)
    @"iPhone6,1" on iPhone 5s(GSM)
    @"iPhone6,2" on iPhone 5s(GSM+CDMA)
    @"iPhone7,1" on iPhone 6 Plus
    @"iPhone7,2" on iPhone 6
*/

- (NSString*) machineName{
    struct utsname systemInfo;
    uname(&systemInfo);
    NSString *result = [NSString stringWithCString:systemInfo.machine
                                          encoding:NSUTF8StringEncoding];
    return result;
}