如何获取iphone的硬件版本以及系统信息
获取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的硬件版本以及系统信息相关推荐
- C#获取计算机的硬件、操作系统信息
获得信息的命名空间是:System.Management Management需要先引用,再using 一.创建ManagementObjectSearcher对象获取相关信息 using Syste ...
- Android获取系统的硬件信息、系统版本以及如何检测ROM类型
转载请标明出处:http://blog.csdn.net/xx326664162/article/details/52438706 文章出自:薛瑄的博客 你也可以查看我的其他同类文章,也会让你有一定的 ...
- 如何用代码获取Iphone 系统版本型号
我做的某一功能模块,在不同版本Iphone OS 上用不同的代码实现. 如何用代码获取Iphone 系统版本型号呢? 用没有类似的宏定义,可以让不同版本的OS跑不同的代码,譬如: #ifdefine ...
- js 获取手机型号和版本
// 获取手机型号及版本 function getPhoneModel() {var result = [];// 最新版google中 会报错// Array.prototype.contains ...
- 苹果七绕过基带激活2020_【快讯:苹果135亿的基带订单,高通疑有诈直接拒绝了;网传索尼移动考虑退出东南亚手机市场;黑客成功获取iPhone XS 权限】...
资讯一 [接到苹果135亿的基带订单,高通疑有诈直接拒绝了] 苹果和高通的神仙打架还在继续.本周,苹果指责,由于高通不供应基带芯片,他们被迫改用Intel的产品. 而顺应苹果的说法,外媒曝光出来一封邮 ...
- iOS 准确获取 iPhone 状态栏、导航栏、TabBar高度,看这篇就够了
前言 最近在项目开发的时候,发现项目提供的获取 「状态栏+导航栏高度」的方法,在 iPhone 12 系列机型上是错误的.解决了这个问题之后,决定做个简单的总结,于是有了这篇文章. 本文主要是分析了遇 ...
- 设置-关于手机里面硬件版本为空,如何完美甩锅
报一个问题如上图"Setting--About phone--Model & hardware里面的Hardware version显示为空" 而我查看了cmdline.属 ...
- iOS 测试之非代码获取 iPhone 型号及其他信息
首先 安装libimobiledevice和ideviceinstaller $ brew uninstall ideviceinstaller $ brew uninstall libimobile ...
- 水星路由器是linux系统,查看水星(Mercury)路由器的硬件版本操作方法
原标题:"怎么查看水星(Mercury)路由器的硬件版本?"相关路由器设置经验分享. - 来源:191路由网 问:怎么才能知道使用的水星(mercury)无线路由器的硬件版本的,据 ...
最新文章
- Python3 元组tuple
- 对话创新工场陶宁:AI步入深水区下的投资逻辑
- linux操作系统进程间通信IPC之共享存储映射
- 生活中的这些难题,数据库开发者可为你解决!
- HDU 3785 寻找大富翁
- python函数的规则_Python函数的作用域规则和闭包
- 【TWVRP】基于matlab遗传算法求解带时间窗的载重约束外卖配送车辆路径规划问题【含Matlab源码 1417期】
- oracle mysql数据库管理工具下载_Oracle数据库管理工具PC版-Oracle数据库管理工具下载v15.0.21.0(32/64)-IE浏览器中文网站...
- mysql 游标移动_MySQL游标的简单实践
- 【20CSPS提高组】贪吃蛇
- 小O地图EXE版V0.9.5.5 - 功能总览
- php如何截取出视频中的指定帧作为图片
- 卑鄙与高尚,理想与现实
- 矩阵分析:Kronecker积,Hadamard积
- Pandas 数据预处理
- python 脏话处理、特殊词汇过滤!
- 【ASP.NET】家乡网站设计作业「历史」「人文」「自然」「美食」「高中」
- 东拉西扯:4岁的Blogbus怎么走
- 4.4V/3.85V锂电池充电器方案
- 芝法酱躺平攻略(4)—— powerdesigner与mybatis-plus生成代码
热门文章
- 进程间通信(IPC)
- 三极管,MOS管,IGBT
- 分布式存储系统:4.容错
- Centos配置nginx代理上网
- M103: Basic Cluster Administration chapter 1 The Mongod学习记录
- 「敏捷架构」敏捷架构:规模化敏捷开发的策略
- rm——Linux王国中的狙击手_莫韵乐的linux王国英雄传
- druid连接池mysql5.7_MySQL Druid连接池,Apache的DbUtils使用
- 雷蛇linux识别,雷蛇键盘配置工具 for linux
- MATLAB矩阵生成函数和基本运算