ToolsManager.h 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. //
  2. // ToolsManager.h
  3. // Demo
  4. //
  5. // Created by 蒋龙 on 2020/7/17.
  6. // Copyright © 2020 lbx. All rights reserved.
  7. //
  8. #import <Foundation/Foundation.h>
  9. #import <UIKit/UIKit.h>
  10. NS_ASSUME_NONNULL_BEGIN
  11. @protocol ToolsManagerDelegate <NSObject>
  12. @optional
  13. /// 认证权限回调
  14. /// @param typeName 权限名称
  15. /// @param granted 是否拥有该权限
  16. /// @param firstTime 是否是第一次申请权限
  17. -(void)authComplateWithTypeName:(NSString *)typeName granted:(BOOL)granted firstTime:(BOOL)firstTime;
  18. @end
  19. @interface ToolsManager : NSObject
  20. /// 回调协议
  21. @property (nonatomic, weak) id<ToolsManagerDelegate> delegate;
  22. + (instancetype)sharedM;
  23. //@TODO:设备信息相关函数
  24. /// 获取设备IDFA
  25. -(NSString *)getDeviceIDFA;
  26. /// 获取设备IDFV
  27. -(NSString *)getDeviceIDFV;
  28. /// 获取设备UDID
  29. -(NSString *)getDeviceUdid;
  30. /// 是否是异形屏
  31. -(BOOL)isAbnormityScreen;
  32. /// 手机别名: 用户定义的名称
  33. -(NSString *)getUserPhoneName;
  34. /// 获取设备系统版本
  35. -(NSString *)getDeviceSystomVersion;
  36. ///获取运营商名称
  37. -(NSString *)getCarrierName;
  38. /// 获取设备型号
  39. -(NSString *)getDeviceVersion;
  40. /// 获取设备信息
  41. -(NSDictionary *)getDeviceInfo;
  42. /// 获取当前网络状态 WIFI MOBILE_NETWORK-蜂窝数据 NO_NETWORK-无网或者未知
  43. - (NSString *)getCurrentNetworkState;
  44. //@TODO:权限相关函数
  45. /// 申请/验证某个权限(异步方法,需要配合authComplateWithTypeName回调方法使用)
  46. /// @param typeInt 类型 0:Location-定位 1:Camera-相机 2:Photos-相册 3:Contacts-通讯录 4:Reminders-提醒事项 5:Calendar-日历 6:Microphone-麦克风 7:Health-健康 8:DataNetwork-数据网络 9:MediaLibrary-媒体与Apple Music
  47. -(void)authorizeWithType:(int)typeInt;
  48. /// 验证是否拥有某个权限
  49. /// @param typeInt 类型 0:Location-定位 1:Camera-相机 2:Photos-相册 3:Contacts-通讯录 4:Reminders-提醒事项 5:Calendar-日历 6:Microphone-麦克风 7:Health-健康 8:DataNetwork-数据网络 9:MediaLibrary-媒体与Apple Music
  50. -(BOOL)hasAuthorizeWithType:(int)typeInt;
  51. /// 显示系统提示框,提示用户去设置对应权限
  52. /// @param title 标题
  53. /// @param message 消息
  54. /// @param cancel 取消按钮名称
  55. /// @param setting 设置按钮名称
  56. -(void)showAlertViewWithTitle:(NSString*)title msg:(NSString*)message cancel:(NSString*)cancel setting:(NSString*)setting;
  57. @end
  58. NS_ASSUME_NONNULL_END