reference:
http://blog.csdn.net/xiaoguan2008/article/details/6582699
获取iphone的系统信息使用[UIDevice currentDevice],信息如下:
[[UIDevice currentDevice] systemName]:系统名称,如iPhone OS
[[UIDevice currentDevice] systemVersion]:系统版本,如4.2.1
[[UIDevice currentDevice] model]:The model of the device,如iPhone或者iPod touch
[[UIDevice currentDevice] uniqueIdentifier]:设备的惟一标识号,deviceID
[[UIDevice currentDevice] name]:设备的名称,如 张三的iPhone
[[UIDevice currentDevice] 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 = [NSString stringWithCString:machine encoding:NSUTF8StringEncoding];
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:@"i386"] || [platform isEqualToString:@"x86_64"]) return @"iPhone Simulator";
return platform;
}
@end
使用[[[UIDeviceHardware alloc] init] platform]应该就可以得到设备的硬件版本
分享到:
相关推荐
如何获取iphone的硬件版本以及系统信息,获取iphone的系统信息使用[UIDevice currentDevice]以及如何获取iphone的硬件版本
获取电池,手机版本,系统型号等等有关手机硬件的信息
AnyChat for iPhone基于iOS 4.3研发,目前支持iPhone 3G、iPhone 3GS、iPhone 4、iPad、iPad2等硬件设备,SDK包里面提供了Demo程序源代码(基于xcode 4工程)供参考。 AnyChat for iPhone可与其它平台的AnyChat...
这是运营商ipcc文件,版本号40.1,适用于IOS12系统,硬件IPHONE 8PLUS,本版本可以搞定低版本系统联通volte
修改android 4.0 launcher 达到ios 系统 iphone桌面的效果。第一版本;支持拖动排序。支持文件夹操作。 软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web、C#等...
软件开发设计:PHP、QT、...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
原理:我们知道苹果是不允许我们获取其设备硬件的mac地址的,在iOS7以下才可以获得。iOS7以后苹果对于sysctl和ioctl进行了技术处理,MAC地址返回的都是02:00:00:00:00:00。但是发现fing这个软件却可以获取,其下载...
苹果手机因其得天独厚操作系统的优势使得即便安卓系统发展到现在的版本以及硬件存储参数达到了惊人的8GB/128GB、10GB/256GB依然没有完全撼动苹果IOS系统的霸主地位,所以苹果Iphone手机和Ipad平板电脑的受众用户数量...
IOS的ipa包权限扫描器,可以快速获取ipa包权限使用等信息。 适用于IOS系统的iPhone和iPad设备的ipa应用程序。. 软件开发设计:PHP、QT、应用软件开发、系统软件开发、移动应用开发、网站开发C++、Java、python、web...
第7章介绍基于corelocation和mapkit实现地图功能:第8章系统介绍应用程序设置:第9章介绍面向设备硬件编程;第10章介绍多媒体编程;第11章介绍利用第三方应用程序的编程;第12章介绍应用程序本地化和国际化编程;第...
软件开发设计:PHP、QT、...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
软件开发设计:PHP、QT、...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
由于硬件限制,iPhone5使用电信4G时,不能拨接电话,中国电信正在屏蔽iPhone5使用4G网络,某些地区会显示LTE马上又变成3G; 5、如果重启手机后,显示“无服务”。请关掉LTE开关(如果之前没有安装就可以跳过此步)...
软件开发设计:PHP、QT、...云计算与大数据:数据集、包括云计算平台、大数据分析、人工智能、机器学习等,云计算是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需提供给计算机和其他设备。
iPhone OS系统上的音频单元支持 145 iPhone音频的最佳实践 145 在iPhone OS使用视频 147 录制视频 147 播放视频文件 147 设备支持 150 确定硬件支持是否存在 150 和配件进行通讯 151 配件的基础 151 声明应用程序...
硬件信息: iDevice名称屏幕分辨率屏幕尺寸视网膜能力像素密度长宽比操作系统: 版本建造修订内核信息安全启动开机时间正常运行时间滴答频率操作系统限制:进程,文件,VNode 中央处理器: 姓名建筑学物理和逻辑...
使用cocos2d-x开发的跨平台知识问答小游戏,基于cocos2d-x-2.0-2.0.4版本,在ipad4.3,ipad5.0,ipad6.0,iphone4.3,iphone5.0,iphone6.0系统中运行成功,后续添加android系统工程,更新中... 软件开发设计:PHP、QT、...
iOS是由苹果公司为iPhone等设备开发的操作系统,它主要给iPhone、iPod touch以及 iPad设备使用,它管理设备硬件并为手机本地应用程序的实现提供基础技术。根据设备不同,操作系统具有不同的系统应用程序,例如Phone...
PoloMeeting网络视频会议系统是一款支持全高清、一键式部署、集群分布式、多终端(PC、Android、IPhone)的专业视频会议系统。国内性价比最高的视频会议系统,系统性能稳定,支持大规模数据并发和分布式服务器,适应...
新浪数码获得的iPhone 3G是内置3.1版本的固件,其系统内显示无Wi-Fi,连接iTunes后升级至苹果官方的3.1.2版固件,等待开机后发现仍然没有Wi-Fi功能。不过,这仍然不能100%确认该iPhone 3G是否硬件去除Wi-Fi芯片,...