lfp

LFPhoneInfo

iOS 快速获取硬件信息。

Showing:

Popularity

Downloads/wk

0

GitHub Stars

89

Maintenance

Last Commit

10mos ago

Contributors

2

Package

Dependencies

0

License

MIT

Categories

Readme

iOS获取设备信息

CI Status codecov Version License Platform

信息类型类型说明能否获取示例备注
设备型号具体那一款手机支持iPhone,iPad,iPod通过 systemInfo.machine 获取
系统版本设备系统的版本支持iPhone9,1,iPhone9,2通过 systemInfo.machine 获取
屏幕分辨率手机屏幕分辨率支持568×320,667×375包括物理分辨率和逻辑分辨率
IMEI手机设备唯一标识不支持493002407599521iOS 5 之后被禁止获取
IMSIsim 卡用户身份识别码不支持460030912121001只能获取部分代号
SIM 卡序列号sim 卡的唯一标识不支持手机卡背面 4 行共 20 个数字无法获取
手机号码一般为11位数字不支持18888888888iOS 5 之后被禁止获取,获取值都为 nil
运营商信息提供网络服务的供应商支持中国移动,中国联通,中国电信有多种方法获取
设备内存手机内存 RAM支持2000.0MB可通过系统 API 获取
App 占用内存App 占用的内存 RAM支持43.5MB可通过系统 API 获取
磁盘总空间设备存储的总大小支持16384.0MB可通过系统 API 获取
磁盘空闲空间设备存储未使用空间大小支持2200.0MB可通过系统 API 获取
磁盘已使用空间设备存储未使用空间大小支持2200.0MB可通过系统 API 获取
CPU 型号CPU 类型支持CPU_TYPE_X86_64CPU 类型
CPU 个数CPU 是几核的支持4,核心数为 4CPU 核心数
手机主板型号手机主板硬件的编号不支持无法获取无法获取
是否破解手机是否越狱不准确通过判断是否存在某些文件新越狱工具可能检测不到
mac 地址网卡的物理地址不支持02:00:00:00:00:00iOS 7 之后被禁止获取
当前网络环境当前手机使用 WiFi/4G支持2G/3G/4G/WIFI系统方法获取或读取状态栏获取
局域网 IP手机连入网络的局域网地址不准确192.168.1.3使用 VPN 等复杂网络可能会不准确
IP手机连入网络的地址不支持111.200.9.21不支持本地获取,可通过后台返回
GPS卫星定位不准确获取经纬度反地理编码地下室等 GPS 信号弱有较大误差
设备序列号设备唯一标识不准确iOS 的 UUID删除重装会变,重置位置和隐私会变
APP 更新时间软件更新时间或首次安装时间支持2019-06-01 12:32:38可读取info.plist创建时间
检测代理设备使用代理 IP支持YES/NO可准确检测设备是否设置了代理
电池电量当前设备电池电量百分比支持0.53 表示剩余电量 53%取值范围 0 至 1.0,-1.0 表示无法识别电池

LFPhoneInfo 可快速获取设备信息。

#import "LFPhoneInfo.h"

// 获取当前设备型号,显示为 iPhone 5S
NSString *typeStr = LFPhoneInfo.deviceTypeString;

// 获取当前设备电池电量,假设电量为 53%,则返回 0.53
CGFloat batteryLevel = LFPhoneInfo.deviceBatteryLevel;

图示

环境需求

LFPhoneInfo 工作环境为 iOS 8+ 和 ARC 编译环境,Demo 编译环境为 Xcode 10.2.1。

安装

CocoaPods

CocoaPods 是最简单方便的安装方法,编辑 Podfile 文件,添加

pod 'LFPhoneInfo'

然后执行 pod install 即可。

直接安装

  1. 从 Git 下载最新代码,找到和 README 同级的 LFPhoneInfo 文件夹,将 LFPhoneInfo 文件夹拖入项目即可。
  2. 在需要使用的地方导入 #import "LFPhoneInfo.h" 即可。

用法

LFPhoneInfo 返回值采用类属性的方式,你可以通过点语法LFPhoneInfo.属性名称 直接获取。

假设你需要获取网络运营商、网络状态、设备局域网 IP、是否越狱

#import "LFPhoneInfo.h"

// 通过系统框架获取设备运营商 e.g. @"中国移动" @"中国联通" @"中国电信"
NSString *carrierName = LFPhoneInfo.deviceCarrierName;

// 当前设备网络状态 e.g. @"WiFi" @"无服务" @"2G" @"3G" @"4G" @"LTE"
NSString *netType = LFPhoneInfo.deviceNetType;

// 当前设备局域网 ip 地址
NSString *LANIP = LFPhoneInfo.deviceLANIp;

// 当前设备是否越狱,模拟器会认为已经越狱,YES 是已经越狱
BOOL isJailbreak = LFPhoneInfo.deviceIsJailbreak;

其他

如果您觉得有所帮助,请在 GitHub LFPhoneInfoDemo 上赏个 Star ⭐️,您的鼓励是我前进的动力

Rate & Review

Great Documentation0
Easy to Use0
Performant0
Highly Customizable0
Bleeding Edge0
Responsive Maintainers0
Poor Documentation0
Hard to Use0
Slow0
Buggy0
Abandoned0
Unwelcoming Community0
100