5

我面临一个问题,我需要找出设备的类型以进行分析。

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

任何想法 。谢谢

4

1 回答 1

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;
}
于 2013-11-10T08:32:29.470 回答