转:查看iphone,ipad固件版本

转:查看iphone,ipad固件版本

日期:2011.10.30
转:http://stackoverflow.com/questions/3177634/iphone-how-do-i-detect-the-iphone-version
转:http://stackoverflow.com/questions/448162/determine-device-iphone-ipod-touch-with-iphone-sdk



feel free to use this class - I found it here
Usage
UIDeviceHardware *h=[[ UIDeviceHardware alloc] init];
[self setDeviceModel:[h  platformString]];   
[h release];
UIDeviceHardware.h

//
//   UIDeviceHardware.h
//
//   Used to determine EXACT version of device software is running on.

#import <Foundation/ Foundation.h>

@interface UIDeviceHardware :  NSObject 

- (NSString *) platform;
- (NSString *) platformString;

@end
UIDeviceHardware.m
//
//   UIDeviceHardware.m
//
//   Used to determine EXACT version of device software is running on.

#import "UIDeviceHardware.h"
#include <sys/types.h>
#include <sys/sysctl.h>

@implementation  UIDeviceHardware

- (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 stringWithCString: 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:@"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";
     return platform;
}

@end



+++++

你可能感兴趣的:(转:查看iphone,ipad固件版本)