iOS version
|
|
返回一条string, 比如@“8.0” 就代表当前版本是iOS8.0
macro:12345
iPhone or iPad
这个简单12
Device version
第一种方法,用model identifier来找。来源。model identifiler list
123456789101112131415161718192021222324252627282930- (NSString *) platform{size_t size;sysctlbyname("hw.machine", NULL, &size, NULL, 0);char *machine = malloc(size);sysctlbyname("hw.machine", machine, &size, NULL, 0);NSString *platform = [NSString stringWithUTF8String:machine];free(machine);return platform;}- (NSString *) platformString{NSString *platform = [self platform];if ([platform isEqualToString:@"iPhone1,1"]) return @"iPhone 1G";if ([platform isEqualToString:@"iPhone1,2"]) return @"iPhone 3G";if ([platform isEqualToString:@"iPhone2,1"]) return @"iPhone 3GS";if ([platform isEqualToString:@"iPhone3,1"]) return @"iPhone 4";if ([platform isEqualToString:@"iPhone3,3"]) return @"Verizon iPhone 4";if ([platform isEqualToString:@"iPhone4,1"]) return @"iPhone 4S";if ([platform isEqualToString:@"iPod1,1"]) return @"iPod Touch 1G";if ([platform isEqualToString:@"iPod2,1"]) return @"iPod Touch 2G";if ([platform isEqualToString:@"iPod3,1"]) return @"iPod Touch 3G";if ([platform isEqualToString:@"iPod4,1"]) return @"iPod Touch 4G";if ([platform isEqualToString:@"iPad1,1"]) return @"iPad";if ([platform isEqualToString:@"iPad2,1"]) return @"iPad 2 (WiFi)";if ([platform isEqualToString:@"iPad2,2"]) return @"iPad 2 (GSM)";if ([platform isEqualToString:@"iPad2,3"]) return @"iPad 2 (CDMA)";if ([platform isEqualToString:@"i386"]) return @"Simulator";if ([platform isEqualToString:@"x86_64"]) return @"Simulator";return platform;}第二种方法,用屏幕大小来区分。个人认为这种方法更好,model的种类太多了而且容易写错,而且毕竟检查iPhone版本很多时候也是在适配屏幕,代码来源
1234
App version
app version 和 build version12NSString *appVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"];NSString *buildVersion = [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"];
is Retina ?
|