# ZGInfoCollection **Repository Path**: Lorwy/ZGInfoCollection ## Basic Information - **Project Name**: ZGInfoCollection - **Description**: No description available - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2020-03-31 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README (求合作,欢迎iOSer一起完善,ok) #### 前言 获取iPhone相关信息、电池信息、屏幕信息、越狱状态以及网络状态等。 #### 使用方法 方式1、下载工程,然后将ZGInfoCollection文件夹放到自己的项目中去。 #### 详细介绍 使用时导入ZGInfoCollection即可,里面包含了所有相关文件。下面简单介绍一下: 1、ZGDeviceInfo /** * 是否支持多任务 * * @return YES表示支持,NO表示不支持 */ - (BOOL)multitaskingSupported; /** * 单例实例化一个当前对象 * * @return 返回一个当前对象 */ + (instancetype)currentDeviceInfo; /** * 得到当前用的什么手机,iPhon5s? iPhone6s .... * * @return 手机类型名称 */ - (NSString *)getCurrentDevicePhoneType; /** * 得到当前设备独一标识符 * * @return 例如:0996E3AC-8800-4961-A3BF-5D49299C96E7 */ - (NSString *)getUUID; /** * 得到当前设备类型 :iPhone / iPad * * @return iPhone / iPad */ - (NSString *)getDeviceType; /** * 得到当前的手机名称,关于本机里面的名称 * * @return 手机名称 */ - (NSString *)getCurrentDeviceName; /** * 得到当前系统名称 * * @return 系统名称 */ - (NSString *)getSystemName; /** * 得到当前系统版本 * * @return 版本.例如:9.3.4,以及最新的10 */ - (NSString *)getSystemVersion; /** * 获取当前设置XNU内核版本号 * * @return 返回当前XNU内核版本号 */ - (NSString *)getKernelVersion; /** * 得到构建描述 * * @return 得到内核描述信息 */ - (NSString *)getDarwinBuildDescription; /** * 得到硬件类型 * * @return 硬件类型,iPhone8,1,iPhone5.1等等 */ - (NSString *)getHardWardType; /** * 得到当前网络节点名称 * * @return 当前节点名称 */ - (NSString *)getNetWordNodeName; /** * 得到当前操作系统名称 * * @return 内核操作系统名称 */ - (NSString *)getOSName; /** * 得到当前设备的核数 * * @return 核数 */ - (NSInteger)getNuclearCount; /** * 得到当前设备活跃的核数 * * @return 核数 */ - (NSInteger)getActiveNuclearCount; 2、ZGStorageInfo /** * 得到当前磁盘总大小 * * @param type 大小类型:ZGSizeTypeOrigin是原始大小,没有经过转换,单位为B;ZGSizeTypeNormalized是规格化后的大小 * * @return 返回大小,可能有差距,但是相差不大 */ - (NSString *)getDiskTotalSizeBySizeType:(ZGSizeType)type; /** * 得到当前磁盘空闲内存大小 * * @param type type 大小类型:ZGSizeTypeOrigin是原始大小,没有经过转换,单位为B;ZGSizeTypeNormalized是规格化后的 * * @return 返回大小,可能有差距,但是相差不大 */ - (NSString *)getDiskFreeSizeBySizeType:(ZGSizeType)type; /** * 得到当前磁盘已经使用的大小 * * @param type type 大小类型:ZGSizeTypeOrigin是原始大小,没有经过转换,单位为B;ZGSizeTypeNormalized是规格化后的 * * @return 返回大小,可能有差距,但是相差不大 */ - (NSString *)getDiskUsedSizeBySizeType:(ZGSizeType)type; /** * 得到当前物理内存总大小,指通过物理内存而获得的内存空间大小 * * @param type 大小类型:ZGSizeTypeOrigin是原始大小,没有经过转换,单位为B;ZGSizeTypeNormalized是规格化后的大小 * * @return 返回大小 */ - (NSString *)getMemoryTotalSizeBySizeType:(ZGSizeType)type; /** * 得到当前物理内存空闲内存大小 Unimplemented * * @param type type 大小类型:ZGSizeTypeOrigin是原始大小,没有经过转换,单位为B;ZGSizeTypeNormalized是规格化后的 * * @return 返回大小,可能有差距,但是相差不大 */ - (NSString *)getMemoryFreeSizeBySizeType:(ZGSizeType)type; /** * 得到当前内存已经使用的大小 Unimplemented * * @param type type 大小类型:ZGSizeTypeOrigin是原始大小,没有经过转换,单位为B;ZGSizeTypeNormalized是规格化后的 * * @return 返回大小,可能有差距,但是相差不大 */ - (NSString *)getMemoryUsedSizeBySizeType:(ZGSizeType)type; 3、ZGBatteryInfo /** * 当前电池量 * * @return 0-1 */ - (CGFloat)currentBatteryLevel; /** * 电池状态 * * @return 正在充电、未充电、充满电 */ - (ZGBatteryState)batteryState; /** * 电池是否允许监控 * * @return YES表示能够监控,NO表示不能够监控 */ - (BOOL)isAllowMonitorBattery; 4、ZGScreenInfo /** * 单例构建当前屏幕信息 * * @return 当前对象实例 */ + (instancetype)currentScreenInfo; /** * 得到当前屏幕宽度 * * @return 宽度值 */ - (CGFloat)getCurrentScreenWith; /** * 得到当前屏幕高度 * * @return 高度值 */ - (CGFloat)getCurrentScreenHeight; /** * 得到屏幕亮度 * * @return 0-1 */ - (CGFloat)getScreenBrightness; /** * 屏幕分辨率 * * @return */ - (NSString *)screenResolution; /** * 得到当前屏幕dpi * * @return return value description */ - (CGFloat)getScreenDpi; 5、ZGNetWorkInfo /** * 得到当前wifi列表 * * @return wifi列表,经测试,这里只是返回了当前连接wifi的信息 */ - (NSMutableArray *)getWifiListArr; /** * 当前设备是否联网 * * @return YES表示联网,NO表示没有联网 */ - (BOOL)isConnectionNetWork; /** * 得到当前网络状态 * * @return 返回 NetWorkStaus枚举 */ - (NetWorkReachStatus)getNetWorkStaus; 6、ZGJailBreak /** * 是否越狱 * * @return YES表示已经越狱,NO表示没有越狱 */ + (BOOL)isJailBreak; 7、ZGLocationInfo /** * 得到设备当前的位置,block回调里面已经包含了CLPlacemark里面包含了你需要的信息,需要自取 * 详细可以参考CLPlacemark类属性 * * @return CLLocation */ - (void)getCurrentLocation:(ChangeLocationBlock)block; 8、ZGProjectInfo /** * 得到当前项目版本 * * @return 当前版本 */ - (NSString *)getProjectVersion; /** * 得到当前项目构建版本号 * * @return 当前构建版本 */ - (NSString *)getProjectBuildVersion; /** * 得到当前项目名称 * * @return 当前名称 */ - (NSString *)getProjectName; 9、ZGDeviceVPNInfo /** get current link vpn status @return devicelinkvpnstatus */ + (DeviceLinkVPNStatus)getCurrentDeviceLinkVpnSataus; /** judge device connected vpn or not @return YES:Connected,NO:not connected */ + (BOOL)isVPNConnected; 10、ZGPhoneOperatorInfo /** 得到当前手机所属运营商名称,如果没有则为nil @return 返回运营商名称 */ + (NSString *)getCurrentPhoneOperatorName; /** 得到当前手机号的国家代码,如果没有则为nil @return 返回国家代码 */ + (NSString *)getCurrentISOCountryCode; /** 得到移动国家码 @return 返回移动国家码 */ + (NSString *)getMobileCountryCode; #### 更新记录
| 序号 | 更新内容 | 更新时间 | 备注 |
| 1 | 添加位置信息定位 | 2016年8月19日 | 详见7 |
| 2 | 添加网络和项目信息 | 2016年8月24日 | 详见5,8 |
| 3 | 添加Cocoapods支持 | 2016年10月27日 | |
| 4 | 添加网络代理查询以及VPN信息 | 2017年6月19日 | |
| 5 | 添加手机运营商信息 | 2017年7月6日 | |
| 6 | 拿到设备信息添加iPhone X | 2017年11月17日 |