设备判断 iphone3? iphone4? iphone5?
来源:互联网 发布:macbook软件没法删除 编辑:程序博客网 时间:2024/06/05 11:56
//.h#import <Foundation/Foundation.h>#import <sys/utsname.h>@interface DeviceInfo : NSObject+(NSString*)deviceString;+(BOOL)isRetina;@end//.m#import "DeviceInfo.h"@implementation DeviceInfo+(NSString*)deviceString{ struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSStringstringWithCString:systemInfo.machineencoding:NSUTF8StringEncoding]; if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 1G"; if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"; if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; if ([deviceString isEqualToString:@"iPhone3,2"]) return@"Verizon iPhone 4"; if ([deviceString isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([deviceString isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([deviceString isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([deviceString isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([deviceString isEqualToString:@"iPad1,1"]) return @"iPad"; if ([deviceString isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"; if ([deviceString isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)"; if ([deviceString isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"; if ([deviceString isEqualToString:@"i386"]) return @"Simulator"; if ([deviceString isEqualToString:@"x86_64"]) return @"Simulator"; return deviceString; }+(BOOL)isRetina{ struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSStringstringWithCString:systemInfo.machineencoding:NSUTF8StringEncoding]; if ([deviceString isEqualToString:@"iPhone1,1"]) return NO; if ([deviceString isEqualToString:@"iPhone1,2"]) return NO; if ([deviceString isEqualToString:@"iPhone2,1"]) return NO; if ([deviceString isEqualToString:@"iPhone3,1"]) return YES; if ([deviceString isEqualToString:@"iPhone3,2"]) return YES; if ([deviceString isEqualToString:@"iPod1,1"]) return NO; if ([deviceString isEqualToString:@"iPod2,1"]) return NO; if ([deviceString isEqualToString:@"iPod3,1"]) return NO; if ([deviceString isEqualToString:@"iPod4,1"]) return YES; if ([deviceString isEqualToString:@"iPad1,1"]) return YES; if ([deviceString isEqualToString:@"iPad2,1"]) return YES; if ([deviceString isEqualToString:@"iPad2,2"]) return YES; if ([deviceString isEqualToString:@"iPad2,3"]) return YES; if ([deviceString isEqualToString:@"i386"]) return NO; if ([deviceString isEqualToString:@"x86_64"]) return NO; returnNO;// return deviceString; }@end+ (NSString*)deviceString{ // 需要#import "sys/utsname.h" struct utsname systemInfo; uname(&systemInfo); NSString *deviceString = [NSString stringWithCString:systemInfo.machine encoding:NSUTF8StringEncoding]; if ([deviceString isEqualToString:@"iPhone1,1"]) return @"iPhone 1G"; if ([deviceString isEqualToString:@"iPhone1,2"]) return @"iPhone 3G"; if ([deviceString isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS"; if ([deviceString isEqualToString:@"iPhone3,1"]) return @"iPhone 4"; if ([deviceString isEqualToString:@"iPhone4,1"]) return @"iPhone 4S"; if ([deviceString isEqualToString:@"iPhone5,2"]) return @"iPhone 5"; if ([deviceString isEqualToString:@"iPhone3,2"]) return @"Verizon iPhone 4"; if ([deviceString isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G"; if ([deviceString isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G"; if ([deviceString isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G"; if ([deviceString isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G"; if ([deviceString isEqualToString:@"iPad1,1"]) return @"iPad"; if ([deviceString isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)"; if ([deviceString isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)"; if ([deviceString isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)"; if ([deviceString isEqualToString:@"i386"]) return @"Simulator"; if ([deviceString isEqualToString:@"x86_64"]) return @"Simulator"; NSLog(@"NOTE: Unknown device type: %@", deviceString); return deviceString;}