iOS获取硬件信息(所有)

iOS系统总以保护用户隐私标榜,从禁止获取Mac地址,禁止获取UDID,禁止获取手机号码,禁止获取IMEI等等。。。,iOS开发人员老是在苹果限制的道路上斗智斗勇!git

下表中不包括用私有API获取硬件信息,由于使用私有API会被禁止上架。github

信息类型 类型说明 可否获取 示例 备注
手机型号 具体那一款手机 支持 iPhone,iPad,iPod 经过systemInfo.machine获取
系统版本 手机系统的版本 支持 iPhone9,1,iPhone9,2 经过systemInfo.machine获取
屏幕分辨率 手机屏幕分辨率 支持 568×320,667×375 包括物理分辨率和逻辑分辨率
IMEI 手机设备惟一标识 不支持 493002407599521 iOS 5以后被禁止获取
IMSI sim卡用户身份识别码 不支持 460030912121001 只能获取部分代号
SIM卡序列号 sim卡的惟一标识 不支持 手机卡背面4行共20个数字 没法获取
手机号码 通常为11位数字 不支持 18888888888 iOS 5以后被禁止获取,获取值都为nil
运营商信息 提供网络服务的供应商 支持 中国移动,中国联通,中国电信 有多种方法获取
运行内存 手机内存RAM 不许确 647.5MB API获取的不许确
CPU型号 CPU类型 支持 CPU_TYPE_X86_64,核心数为2 CPU类型和核心数
手机主板型号 手机主板硬件的编号 不支持 没法获取 没法获取
是否破解 手机是否越狱 不许确 经过判断是否存在某些文件 新越狱工具可能检测不到
mac地址 网卡的物理地址 不支持 02:00:00:00:00:00 iOS 7以后被禁止获取
当前网络环境 当前手机使用WiFi/4G 支持 2G/3G/4G/WIFI 状态栏获取或其余方法获取
IP 手机连入网络的地址 不许确 111.200.9.21 使用代理状况下IP是不许确的
GPS 卫星定位 不许确 获取经纬度反地理编码 地下室等GPS信号弱有较大偏差
设备序列号 设备惟一标识 不许确 iOS的UUID 删除重装会变,重置位置和隐私会变
APP安装时间及更新时间 安装时间及更新时间 支持 2017/8/1 下午2:08:00 可用沙盒文件建立时间

部分详细说明

  • 手机型号:经过systemInfo.machine获取判断是哪一种设备。
  • 系统版本:经过systemInfo.machine获取设备型号后判断,例如iPhone9,1对应iPhone7,iPhone9,2对应iPhone7 Plus。
  • 屏幕分辨率:包括物理分辨率和逻辑分辨率,物理分辨率=逻辑分辨率×屏幕缩放比(就是的1x,2x,3x),1x设备如今基本绝迹,2x对应4寸和4.7屏幕,3x对应Plus设备的5.5寸屏幕。
  • IMEI:IMEI(International Mobile Equipment Identity)是国际移动设备身份码的缩写,国际移动装备辨识码,是由15位数字组成的"电子串号",它与每台移动电话机一一对应,并且该码是全世界惟一的。电话拨号键盘输入*#06#便可显示。
  • IMSI:sim卡中用户身份识别码,储存在SIM卡中。iOS设备如今只能经过CTTelephonyNetworkInfo获取部分信息,如中国MCC代号460,MNC中国移动为00,02,07,IMSI是由信息拼接而成,具体拼接方法Google
  • SIM卡序列号:sim卡的惟一标识,就是sim卡背面的四行数字,共20个数字。
  • 运营商信息:有多种方法获取,经过CTTelephonyNetworkInfo框架获取,或者经过遍历状态栏StatusBar图标文字获取;其中若是未安装sim卡时,国行iPhone经过CTTelephonyNetworkInfo获取为默认值中国移动。
  • 运行内存:手机运行程序时的内存RAM(不是存储空间),可经过手机型号反推,经过API获取的不许确。
  • CPU型号:可以获取CPU类型(例如32位CPU和64位CPU)和核心数(双核单核)。
  • mac地址:iOS 7以后被禁止获取,全部手机获取到的都是02:00:00:00:00:00。
  • APP安装时间及更新时间:可用沙盒文件(例如info.plist)建立时间来计算实际安装时间,也就是更新时间。至于App首次安装时间,可在沙盒存储一个时间标记,有值读取便可,无值时存入本次的安装时间。

获取硬件信息效果图

硬件信息截图


若是您以为有所帮助,请在GitHub PhoneInfoDemo上赏个Star ⭐️,您的鼓励是我前进的动力!
相关文章
相关标签/搜索