// // ToolsManager.h // Demo // // Created by 蒋龙 on 2020/7/17. // Copyright © 2020 lbx. All rights reserved. // #import #import NS_ASSUME_NONNULL_BEGIN @protocol ToolsManagerDelegate @optional /// 认证权限回调 /// @param typeName 权限名称 /// @param granted 是否拥有该权限 /// @param firstTime 是否是第一次申请权限 -(void)authComplateWithTypeName:(NSString *)typeName granted:(BOOL)granted firstTime:(BOOL)firstTime; @end @interface ToolsManager : NSObject /// 回调协议 @property (nonatomic, weak) id delegate; + (instancetype)sharedM; //@TODO:设备信息相关函数 /// 获取设备IDFA -(NSString *)getDeviceIDFA; /// 获取设备IDFV -(NSString *)getDeviceIDFV; /// 获取设备UDID -(NSString *)getDeviceUdid; /// 是否是异形屏 -(BOOL)isAbnormityScreen; /// 手机别名: 用户定义的名称 -(NSString *)getUserPhoneName; /// 获取设备系统版本 -(NSString *)getDeviceSystomVersion; ///获取运营商名称 -(NSString *)getCarrierName; /// 获取设备型号 -(NSString *)getDeviceVersion; /// 获取设备信息 -(NSDictionary *)getDeviceInfo; /// 获取当前网络状态 WIFI MOBILE_NETWORK-蜂窝数据 NO_NETWORK-无网或者未知 - (NSString *)getCurrentNetworkState; //@TODO:权限相关函数 /// 申请/验证某个权限(异步方法,需要配合authComplateWithTypeName回调方法使用) /// @param typeInt 类型 0:Location-定位 1:Camera-相机 2:Photos-相册 3:Contacts-通讯录 4:Reminders-提醒事项 5:Calendar-日历 6:Microphone-麦克风 7:Health-健康 8:DataNetwork-数据网络 9:MediaLibrary-媒体与Apple Music -(void)authorizeWithType:(int)typeInt; /// 验证是否拥有某个权限 /// @param typeInt 类型 0:Location-定位 1:Camera-相机 2:Photos-相册 3:Contacts-通讯录 4:Reminders-提醒事项 5:Calendar-日历 6:Microphone-麦克风 7:Health-健康 8:DataNetwork-数据网络 9:MediaLibrary-媒体与Apple Music -(BOOL)hasAuthorizeWithType:(int)typeInt; /// 显示系统提示框,提示用户去设置对应权限 /// @param title 标题 /// @param message 消息 /// @param cancel 取消按钮名称 /// @param setting 设置按钮名称 -(void)showAlertViewWithTitle:(NSString*)title msg:(NSString*)message cancel:(NSString*)cancel setting:(NSString*)setting; @end NS_ASSUME_NONNULL_END