Git Product home page Git Product logo

zginfocollection's Introduction

(求合作,欢迎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日

有问题QQ群交流:206613455

zginfocollection's People

Contributors

scottzg avatar zhanggui avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

zginfocollection's Issues

还可以添加网络运营商信息

使用CoreTelephony.framework

#import <CoreTelephony/CTTelephonyNetworkInfo.h>
#import <CoreTelephony/CTCarrier.h>

- (void) getNetworkOperator{
    CTTelephonyNetworkInfo *info = [[CTTelephonyNetworkInfo alloc] init];
    CTCarrier *carrier = [info subscriberCellularProvider];
    //当前手机所属运营商名称
    NSString *mobile;
    //先判断有没有SIM卡,如果没有则不获取本机运营商
    if (!carrier.isoCountryCode) {
        NSLog(@"没有SIM卡");
        mobile = @"无运营商";
    }else{
        mobile = [carrier carrierName];
    }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.