如何调用并获取当前的设备版本?

时间:2014-10-13 11:04:03

标签: ios objective-c iphone

我使用this代码来识别iPhone设备。任何人都可以向我解释如何调用并获取当前的设备版本?

如何调用其中一种方法?

+ (DeviceHardwareSpecificPlatform)specificPlatform;
+ (DeviceHardwareGeneralPlatform)generalPlatform;
+ (DeviceHardwarePlatformType)platformType;
+ (NSString *)platformString;

我从另一个班级打电话给他们。

2 个答案:

答案 0 :(得分:0)

根据您提供的链接,有一个usage.txt文件

UIDeviceHardware *h=[[UIDeviceHardware alloc] init];
[self setDeviceModel:[h platformString]];
[h release];

实际上,这是一段带有手动管理内存的旧代码。使用ARC,您可能希望使用:

UIDeviceHardware *h=[[UIDeviceHardware alloc] init];
[self setDeviceModel:[h platformString]];

答案 1 :(得分:0)

UIDevice类提供运行应用程序的设备的所有信息。

UIDevice * deviceInfo = [UIDevice currentDevice];

NSLog(@“OS running on device: %@”, deviceInfo.systemName);

//在设备上运行的操作系统:iPhone OS     NSLog(@“在设备上运行的操作系统版本:%@”,deviceInfo.systemVersion);   //在设备上运行的操作系统版本:7.1     NSLog(@“设备型号:%@”,deviceInfo.model);
  //设备型号:iPod touch

size_t size;  
sysctlbyname("hw.machine", NULL, &size, NULL, 0);  
char *machine = malloc(size);  
sysctlbyname("hw.machine", machine, &size, NULL, 0);  
NSString *deviceModelVersion = [NSString stringWithCString:machine    encoding:NSUTF8StringEncoding];  
free(machine);  

NSLog(@"Device model version: %@", deviceModelVersion);  
//Device model version: iPhone4, 1  

NSLog(@“Device name:  %@”, deviceInfo.name); 
//Device name:  my iPod