如何获取iphone的硬件版本以及系统信息
来源:互联网 发布:linux gunzip 压缩 编辑:程序博客网 时间:2024/06/07 00:56
获取iphone的系统信息使用[UIDevicecurrentDevice],信息如下:
[[UIDevicecurrentDevice] systemName]:系统名称,如iPhone OS
[[UIDevicecurrentDevice] systemVersion]:系统版本,如4.2.1
[[UIDevice currentDevice]model]:The model of the device,如iPhone或者iPod touch
[[UIDevicecurrentDevice] uniqueIdentifier]:设备的惟一标识号,deviceID
[[UIDevice currentDevice]name]:设备的名称,如 张三的iPhone
[[UIDevicecurrentDevice] localizedModel]:The model of the device as a localized string,类似model
详见http://developer.apple.com/library/ios/#documentation/uikit/reference/UIDevice_Class/Reference/UIDevice.html
但是以上的信息貌似无法得到设备的硬件信息,例如一个iphone3GS,系统升级到了iphone4。此时使用systemVersion得到的应该是4.x.x,那我们如何知道该设备为iphone3GS呢。网上流传一个方法,经测试应该是有用的。
自定义一个类:
#import <Foundation/Foundation.h>
@interface UIDeviceHardware : NSObject {
}
- (NSString *) platform;
- (NSString *) platformString;
@end
#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 = [NSStringstringWithCString:machine encoding:NSUTF8StringEncoding];
free(machine);
return platform;
}
- (NSString *) platformString{
NSString *platform = [selfplatform];
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:@"i386"] || [platformisEqualToString:@"x86_64"]) return @"iPhone Simulator";
return platform;
}
@end
使用[[[UIDeviceHardware alloc] init] platform]应该就可以得到设备的硬件版本。(源码)
- iphone 如何获取iphone的硬件版本以及系统信息
- 如何获取iphone的硬件版本以及系统信息
- 如何获取iphone的硬件版本以及系统信息
- 如何获取iphone的硬件版本以及系统信息
- 如何获取iphone的硬件版本以及系统信息
- 如何获取iphone的硬件版本以及系统信息
- 如何获取iphone的硬件版本以及系统信息
- 如何获取iphone的硬件版本以及系统信息
- iPhone应用中如何获取硬件版本以及系统信息
- 获取iphone的硬件版本以及系统信息
- 获取iphone的硬件版本以及系统信息
- Android获取系统的硬件信息、系统版本以及如何检测ROM类型
- iphone开发之通过unix系统底层获取和系统相关的硬件信息
- iphone开发之通过unix系统底层获取和系统相关的硬件信息
- iphone开发之通过unix系统底层获取和系统相关的硬件信息
- iphone开发之通过unix系统底层获取和系统相关的硬件信息
- adb获取android手机系统版本,已对应的api版本和硬件相关信息
- adb获取android手机系统版本,已对应的api版本和硬件相关信息
- Mule ESB安装
- Lua中require用法一
- CPLD+SRAM+MCU+LCD 项目小结
- 项目测试之Squid代理服务器
- 开机后,双击打开我的电脑很慢的解决办法
- 如何获取iphone的硬件版本以及系统信息
- WIFI Direct 标准 连接
- HTML中id 和name的区别
- myeclipse 配置 tomcat7
- 支持 IDispEventImpl - (COM事件的使用) .
- 在web开发中,session的使用与检验
- 谁动了我的雨伞?
- WHUgirls----HDU_3127----二维的完全背包
- CX51 用户手册----REGFILE伪指令