smssdk更新
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
//
|
||||
// IMOBBaseUser.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by 冯鸿杰 on 2017/9/5.
|
||||
// Copyright © 2017年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "IMOBFDataModel.h"
|
||||
|
||||
/**
|
||||
基础用户信息
|
||||
*/
|
||||
@protocol IMOBBaseUser <IMOBFDataModel>
|
||||
|
||||
/**
|
||||
获取用户ID
|
||||
|
||||
@return 用户ID
|
||||
*/
|
||||
- (NSString *)uid;
|
||||
|
||||
/**
|
||||
获取用户头像
|
||||
|
||||
@return 头像
|
||||
*/
|
||||
- (NSString *)avatar;
|
||||
|
||||
/**
|
||||
获取用户昵称
|
||||
|
||||
@return 昵称
|
||||
*/
|
||||
- (NSString *)nickname;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,88 @@
|
||||
//
|
||||
// IJIMDataModel.h
|
||||
// Jimu
|
||||
//
|
||||
// Created by 冯鸿杰 on 17/2/10.
|
||||
// Copyright © 2017年 Mob. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
/**
|
||||
数据模型协议
|
||||
*/
|
||||
@protocol IMOBFDataModel <NSObject>
|
||||
|
||||
@required
|
||||
|
||||
/**
|
||||
初始化数据模型
|
||||
|
||||
@param dict 初始化数据
|
||||
@return 数据模型
|
||||
*/
|
||||
- (instancetype)initWithDict:(NSDictionary *)dict;
|
||||
|
||||
/**
|
||||
设置数据
|
||||
|
||||
@param data 数据
|
||||
@param key 名称
|
||||
*/
|
||||
- (void)set:(id)data key:(NSString *)key;
|
||||
|
||||
/**
|
||||
获取数据
|
||||
|
||||
@param key 名称
|
||||
*/
|
||||
- (id)get:(NSString *)key;
|
||||
|
||||
/**
|
||||
返回一个字典结构
|
||||
|
||||
@return 字段数据对象
|
||||
*/
|
||||
- (NSDictionary *)dictionaryValue;
|
||||
|
||||
/**
|
||||
返回字段映射字典
|
||||
|
||||
说明:类如果实现此方法,并返回映射字典,在使用initWithDict初始化时,则会按照映射查找属性;key 为真正想要设定的、存在的属性 ,value为需要映射的字段
|
||||
|
||||
@return 字段映射字典
|
||||
*/
|
||||
+ (NSDictionary <NSString *, NSString *> *)propertyMappingDictionary;
|
||||
|
||||
/**
|
||||
当类中有属性为数组,且数组元素同为MOBFDataModel时,应该置制定该属性属性及其元素类型
|
||||
例如有 @property NSArray <OtherDataModel *> *array;
|
||||
应主动实现本方法,并返回 @{@"array" : @"OtherDataModel"}
|
||||
|
||||
@return 映射配置
|
||||
*/
|
||||
+ (NSDictionary <NSString *, NSString *> *)elementTypeOfCollectionPropertyDictionary;
|
||||
|
||||
/**
|
||||
当属性定义类型不支持从原始数据直接转换时触发此方法,该方法默认返回nil,表示不进行转换
|
||||
|
||||
@param rawData 原始数据
|
||||
@param targetType 目标类型
|
||||
@param propertyName 属性名称
|
||||
@return 目标类型对象
|
||||
*/
|
||||
+ (id)unsupportTypeWithRawData:(id)rawData
|
||||
targetType:(Class)targetType
|
||||
propertyName:(NSString *)propertyName;
|
||||
|
||||
/**
|
||||
当设置属性对象不支持转化为原始数据时触发此方法,默认返回nil,表示不进行转换
|
||||
|
||||
@param object 对象
|
||||
@param propertyName 属性名称
|
||||
@return 原始数据,仅包含NSDictionary、NSArray、NSString、NSNumber类型的返回。
|
||||
*/
|
||||
+ (id)rawDataWithUnsupportTypeObject:(id)object
|
||||
propertyName:(NSString *)propertyName;
|
||||
|
||||
@end
|
||||
@@ -15,6 +15,14 @@
|
||||
*/
|
||||
@interface MOBFData : NSObject
|
||||
|
||||
/**
|
||||
将一个NSData对象转换为NSString对象,处理由于结束符导致json解析错误问题
|
||||
|
||||
@param data 原始data
|
||||
@return 处理后字符串
|
||||
*/
|
||||
+ (NSString *)stringByData:(NSData *)data;
|
||||
|
||||
/**
|
||||
* 使用HMAC-SHA1进行加密
|
||||
*
|
||||
@@ -25,6 +33,15 @@
|
||||
*/
|
||||
+ (NSData *)hmacSha1Data:(NSData *)data forKey:(NSData *)key;
|
||||
|
||||
/**
|
||||
使用HMAC-MD5进行签名
|
||||
|
||||
@param data 原始数据
|
||||
@param key 密钥
|
||||
@return 加密后数据
|
||||
*/
|
||||
+ (NSData *)hmacMd5Data:(NSData *)data forKey:(NSData *)key;
|
||||
|
||||
/**
|
||||
* 对数据进行MD5签名
|
||||
*
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// MOBFDataModel.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by 冯鸿杰 on 17/2/15.
|
||||
// Copyright © 2017年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "IMOBFDataModel.h"
|
||||
|
||||
/**
|
||||
数据模型
|
||||
*/
|
||||
@interface MOBFDataModel : NSObject <IMOBFDataModel,
|
||||
NSCoding>
|
||||
|
||||
@end
|
||||
@@ -121,4 +121,13 @@
|
||||
minute:(NSInteger)minute
|
||||
second:(NSInteger)second;
|
||||
|
||||
|
||||
/**
|
||||
* 0点毫秒数
|
||||
|
||||
*
|
||||
* @return 0点毫秒数
|
||||
*/
|
||||
+ (NSTimeInterval)zeroTimeInterval;
|
||||
|
||||
@end
|
||||
|
||||
@@ -8,6 +8,9 @@
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
#import <CoreTelephony/CTTelephonyNetworkInfo.h>
|
||||
|
||||
extern NSString *kMOBFReachabilityChangedNotification;
|
||||
|
||||
/**
|
||||
* 网络类型
|
||||
@@ -58,6 +61,14 @@ typedef NS_ENUM(NSUInteger, MOBFIPVersion)
|
||||
*/
|
||||
@interface MOBFDevice : NSObject
|
||||
|
||||
|
||||
/**
|
||||
* 获取单例的 CTTelephonyNetworkInfo
|
||||
*
|
||||
* @return CTTelephonyNetworkInfo
|
||||
*/
|
||||
+ (CTTelephonyNetworkInfo *)networkInfo;
|
||||
|
||||
/**
|
||||
* 获取网卡物理地址
|
||||
*
|
||||
@@ -79,6 +90,13 @@ typedef NS_ENUM(NSUInteger, MOBFIPVersion)
|
||||
*/
|
||||
+ (MOBFNetworkType)currentNetworkType;
|
||||
|
||||
/**
|
||||
* 获取当前网络类型字符串
|
||||
*
|
||||
* @return 网络类型
|
||||
*/
|
||||
+ (NSString *)currentNetworkTypeStr;
|
||||
|
||||
/**
|
||||
* 获取手机运营商代码
|
||||
*
|
||||
@@ -165,13 +183,6 @@ typedef NS_ENUM(NSUInteger, MOBFIPVersion)
|
||||
*/
|
||||
+ (NSString *)bssid;
|
||||
|
||||
/**
|
||||
* 获取广告商ID
|
||||
*
|
||||
* @return 广告商ID
|
||||
*/
|
||||
+ (NSString *)idfa;
|
||||
|
||||
/**
|
||||
* 获取当前语言
|
||||
*
|
||||
@@ -193,4 +204,39 @@ typedef NS_ENUM(NSUInteger, MOBFIPVersion)
|
||||
*/
|
||||
+ (NSString *)idfv;
|
||||
|
||||
/**
|
||||
* 获取物理内存
|
||||
|
||||
@return 物理内存
|
||||
*/
|
||||
+ (double)physicalMemory;
|
||||
|
||||
/**
|
||||
* 获取存储大小
|
||||
|
||||
@return 存储大小
|
||||
*/
|
||||
+ (long long)diskSpace;
|
||||
|
||||
/**
|
||||
* cpu 类型
|
||||
*
|
||||
* @return cpu 类型
|
||||
*/
|
||||
+ (NSString *)cpuType;
|
||||
|
||||
/**
|
||||
* 获取无线局域网的强度
|
||||
*
|
||||
* @return 强度 3: 强 ,2:中, 1:弱 ,无
|
||||
*/
|
||||
+ (int)wifiLevel;
|
||||
|
||||
/**
|
||||
* 获取原始当前网络类型
|
||||
*
|
||||
* @return 网络类型
|
||||
*/
|
||||
+ (NSString *)currentDataNetworkType;
|
||||
|
||||
@end
|
||||
|
||||
@@ -53,6 +53,14 @@ typedef void(^MOBFHttpFaultEvent) (NSError *error);
|
||||
*/
|
||||
typedef void(^MOBFHttpUploadProgressEvent) (int64_t totalBytes, int64_t loadedBytes);
|
||||
|
||||
/**
|
||||
* HTTP下载数据事件
|
||||
*
|
||||
* @param totalBytes 总字节数
|
||||
* @param loadedBytes 上传字节数据
|
||||
*/
|
||||
typedef void(^MOBFHttpDownloadProgressEvent) (int64_t totalBytes, int64_t loadedBytes);
|
||||
|
||||
/**
|
||||
* HTTP服务类
|
||||
*/
|
||||
@@ -168,6 +176,20 @@ typedef void(^MOBFHttpUploadProgressEvent) (int64_t totalBytes, int64_t loadedBy
|
||||
onFault:(MOBFHttpFaultEvent)faultHandler
|
||||
onUploadProgress:(MOBFHttpUploadProgressEvent)uploadProgressHandler;
|
||||
|
||||
|
||||
/**
|
||||
发送请求
|
||||
|
||||
@param resultHandler 返回回调
|
||||
@param faultHandler 错误回调
|
||||
@param uploadProgressHandler 上传数据进度回调
|
||||
@param downloadProgressHandler 下载数据进度回调
|
||||
*/
|
||||
- (void)sendRequestOnResult:(MOBFHttpResultEvent)resultHandler
|
||||
onFault:(MOBFHttpFaultEvent)faultHandler
|
||||
onUploadProgress:(MOBFHttpUploadProgressEvent)uploadProgressHandler
|
||||
onDownloadProgress:(MOBFHttpDownloadProgressEvent)downloadProgressHandler;
|
||||
|
||||
/**
|
||||
* 取消请求
|
||||
*/
|
||||
@@ -218,5 +240,30 @@ typedef void(^MOBFHttpUploadProgressEvent) (int64_t totalBytes, int64_t loadedBy
|
||||
onFault:(MOBFHttpFaultEvent)faultHandler
|
||||
onUploadProgress:(MOBFHttpUploadProgressEvent)uploadProgressHandler;
|
||||
|
||||
/**
|
||||
* 发送HTTP请求
|
||||
*
|
||||
* @param urlString 请求地址
|
||||
* @param method 请求方式
|
||||
* @param parameters 请求参数
|
||||
* @param headers 请求头集合
|
||||
* @param timeout 请求超时
|
||||
* @param resultHandler 返回回调
|
||||
* @param faultHandler 错误回调
|
||||
* @param uploadProgressHandler 上传数据进度回调
|
||||
* @param downloadProgressHandler 下载数据进度回调
|
||||
*
|
||||
* @return HTTP服务对象
|
||||
*/
|
||||
+ (MOBFHttpService *)sendHttpRequestByURLString:(NSString *)urlString
|
||||
method:(NSString *)method
|
||||
parameters:(NSDictionary *)parameters
|
||||
headers:(NSDictionary *)headers
|
||||
timeout:(NSTimeInterval)timeout
|
||||
onResult:(MOBFHttpResultEvent)resultHandler
|
||||
onFault:(MOBFHttpFaultEvent)faultHandler
|
||||
onUploadProgress:(MOBFHttpUploadProgressEvent)uploadProgressHandler
|
||||
onDownloadProgress:(MOBFHttpDownloadProgressEvent)downloadProgressHandler;
|
||||
|
||||
|
||||
@end
|
||||
|
||||
@@ -0,0 +1,31 @@
|
||||
//
|
||||
// MOBFImageCachePolicy.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by 冯鸿杰 on 2017/4/12.
|
||||
// Copyright © 2017年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "MOBFImageServiceTypeDef.h"
|
||||
|
||||
@interface MOBFImageCachePolicy : NSObject
|
||||
|
||||
/**
|
||||
缓存名称,用于对不同的图片缓存划分到不同的缓存路径中,如果名称相同则缓存位置相同。
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *cacheName;
|
||||
|
||||
/**
|
||||
缓存处理回调,当有图片需要进行缓存时会先调用该方法
|
||||
*/
|
||||
@property (nonatomic, strong) MOBFImageGetterCacheHandler cacheHandler;
|
||||
|
||||
/**
|
||||
获取默认的缓存策略
|
||||
|
||||
@return 缓存策略
|
||||
*/
|
||||
+ (instancetype)defaultCachePolicy;
|
||||
|
||||
@end
|
||||
@@ -10,6 +10,8 @@
|
||||
#import "MOBFImageServiceTypeDef.h"
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class MOBFImageCachePolicy;
|
||||
|
||||
/**
|
||||
* 图片获取器
|
||||
*/
|
||||
@@ -20,7 +22,15 @@
|
||||
*
|
||||
* @return 图片服务实例
|
||||
*/
|
||||
+ (instancetype)sharedInstance;
|
||||
+ (instancetype _Nullable )sharedInstance;
|
||||
|
||||
/**
|
||||
初始化图片服务实例
|
||||
|
||||
@param cachePolicy 缓存策略
|
||||
@return 图片服务实例
|
||||
*/
|
||||
- (instancetype _Nullable )initWithCachePolicy:(MOBFImageCachePolicy *_Nullable)cachePolicy;
|
||||
|
||||
/**
|
||||
* 是否存在图片缓存
|
||||
@@ -29,7 +39,7 @@
|
||||
*
|
||||
* @return YES 表示图片已缓存,NO 图片未缓存
|
||||
*/
|
||||
- (BOOL)existsImageCacheWithURL:(NSURL *)url;
|
||||
- (BOOL)existsImageCacheWithURL:(NSURL *_Nullable)url;
|
||||
|
||||
/**
|
||||
* 获取图片
|
||||
@@ -39,10 +49,23 @@
|
||||
*
|
||||
* @return 服务观察者
|
||||
*/
|
||||
- (MOBFImageObserver *)getImageWithURL:(NSURL *)url
|
||||
result:(MOBFImageGetterResultHandler)resultHandler;
|
||||
- (MOBFImageObserver *_Nonnull)getImageWithURL:(NSURL *_Nullable)url
|
||||
result:(MOBFImageGetterResultHandler _Nullable )resultHandler;
|
||||
|
||||
|
||||
/**
|
||||
* 获取图片
|
||||
*
|
||||
* @param url 图片路径
|
||||
* @param allowReadCache 是否允许读取缓存
|
||||
* @param resultHandler 返回事件
|
||||
*
|
||||
* @return 服务观察者
|
||||
*/
|
||||
- (MOBFImageObserver *_Nullable)getImageWithURL:(NSURL * _Nullable)url
|
||||
allowReadCache:(BOOL)allowReadCache
|
||||
result:(MOBFImageGetterResultHandler _Nullable )resultHandler;
|
||||
|
||||
/**
|
||||
获取图片数据
|
||||
|
||||
@@ -51,14 +74,40 @@
|
||||
|
||||
@return 服务观察者
|
||||
*/
|
||||
- (MOBFImageObserver *)getImageDataWithURL:(NSURL *)url
|
||||
result:(MOBFImageDataGetterResultHandler)resultHandler;
|
||||
- (MOBFImageObserver *_Nullable)getImageDataWithURL:(NSURL * _Nullable)url
|
||||
result:(MOBFImageDataGetterResultHandler _Nullable)resultHandler;
|
||||
|
||||
/**
|
||||
获取图片数据
|
||||
|
||||
@param url 图片路径
|
||||
@param allowReadCache 是否允许读取缓存
|
||||
@param resultHandler 返回事件
|
||||
|
||||
@return 服务观察者
|
||||
*/
|
||||
- (MOBFImageObserver *_Nullable)getImageDataWithURL:(NSURL * _Nullable)url
|
||||
allowReadCache:(BOOL)allowReadCache
|
||||
result:(MOBFImageDataGetterResultHandler _Nullable)resultHandler;
|
||||
|
||||
/**
|
||||
* 移除图片观察者
|
||||
*
|
||||
* @param imageObserver 图片观察者
|
||||
*/
|
||||
- (void)removeImageObserver:(MOBFImageObserver *)imageObserver;
|
||||
- (void)removeImageObserver:(MOBFImageObserver * _Nullable)imageObserver;
|
||||
|
||||
/**
|
||||
* 删除磁盘中缓存中图片
|
||||
*
|
||||
* @param url 图片地址
|
||||
*/
|
||||
- (void)removeImageForURL:(nullable NSURL *)url;
|
||||
|
||||
/**
|
||||
* 删除当前缓存策略下磁盘目录中所有图片
|
||||
*
|
||||
*/
|
||||
- (void)clearDisk;
|
||||
|
||||
@end
|
||||
|
||||
@@ -9,7 +9,15 @@
|
||||
#ifndef MOBFoundation_MOBFImageServiceTypeDef_h
|
||||
#define MOBFoundation_MOBFImageServiceTypeDef_h
|
||||
|
||||
@class UIImage;
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
|
||||
/**
|
||||
图片缓存处理
|
||||
|
||||
@param imageData 图片的数据
|
||||
*/
|
||||
typedef NSData* (^MOBFImageGetterCacheHandler)(NSData *imageData);
|
||||
|
||||
/**
|
||||
* 图片加载返回
|
||||
|
||||
@@ -9,6 +9,8 @@
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "MOBFJSTypeDefine.h"
|
||||
|
||||
@class JSContext;
|
||||
|
||||
/**
|
||||
* JavaScript上下文环境
|
||||
*/
|
||||
@@ -21,6 +23,15 @@
|
||||
*/
|
||||
+ (instancetype)defaultContext;
|
||||
|
||||
|
||||
/**
|
||||
初始化
|
||||
|
||||
@param context JS上下文
|
||||
@return JS上下文
|
||||
*/
|
||||
- (instancetype)initWithContext:(JSContext *)context;
|
||||
|
||||
/**
|
||||
* 注册方法
|
||||
*
|
||||
|
||||
@@ -0,0 +1,37 @@
|
||||
//
|
||||
// MOBFJSMethod.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by 冯 鸿杰 on 15/2/27.
|
||||
// Copyright (c) 2015年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "MOBFJSTypeDefine.h"
|
||||
|
||||
/**
|
||||
* JS方法
|
||||
*/
|
||||
@interface MOBFJSMethod : NSObject
|
||||
|
||||
/**
|
||||
* 方法名称
|
||||
*/
|
||||
@property (nonatomic, copy, readonly) NSString *name;
|
||||
|
||||
/**
|
||||
* 方法实现
|
||||
*/
|
||||
@property (nonatomic, strong, readonly) MOBFJSMethodIMP imp;
|
||||
|
||||
/**
|
||||
* 初始化方法
|
||||
*
|
||||
* @param name 方法名称
|
||||
* @param imp 方法实现
|
||||
*
|
||||
* @return 方法对象
|
||||
*/
|
||||
- (id)initWithName:(NSString *)name imp:(MOBFJSMethodIMP)imp;
|
||||
|
||||
@end
|
||||
@@ -12,7 +12,7 @@
|
||||
/**
|
||||
* JS方法实现
|
||||
*
|
||||
* @param params 传入参数
|
||||
* @param arguments 传入参数
|
||||
*/
|
||||
typedef void(^MOBFJSMethodIMP) (NSArray *arguments);
|
||||
|
||||
|
||||
@@ -0,0 +1,110 @@
|
||||
//
|
||||
// MOBFLogService.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by 冯鸿杰 on 17/2/16.
|
||||
// Copyright © 2017年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class MOBFLogService;
|
||||
|
||||
|
||||
/**
|
||||
日志服务协议
|
||||
*/
|
||||
@protocol MOBFLogServiceDelegate <NSObject>
|
||||
|
||||
|
||||
/**
|
||||
是否需要发送日志
|
||||
|
||||
@param logService 日志服务
|
||||
@param logs 已有日志信息集合
|
||||
@return YES 表示需要发送日志,NO 表示不需要发送日志
|
||||
*/
|
||||
- (BOOL)logService:(MOBFLogService *)logService
|
||||
needsSendLogs:(NSArray *)logs;
|
||||
|
||||
/**
|
||||
发送日志
|
||||
|
||||
@param logService 日志服务
|
||||
@param logs 需要发送的日志信息集合
|
||||
@param result 发送完成回调,成功时传入YES,否则传入NO
|
||||
*/
|
||||
- (void)logService:(MOBFLogService *)logService
|
||||
didSendLogs:(NSArray *)logs
|
||||
result:(void (^)(BOOL succeed, NSArray *sentLogs))result;
|
||||
|
||||
@end
|
||||
|
||||
/**
|
||||
日志服务
|
||||
*/
|
||||
@interface MOBFLogService : NSObject
|
||||
|
||||
/**
|
||||
委托对象
|
||||
*/
|
||||
@property (nonatomic, weak) id<MOBFLogServiceDelegate> delegate;
|
||||
|
||||
/**
|
||||
失败最大重试次数
|
||||
*/
|
||||
@property (nonatomic) NSInteger failRetryMaxCount;
|
||||
|
||||
/**
|
||||
初始化
|
||||
|
||||
@param name 日志服务名称
|
||||
@return 日志服务对象
|
||||
*/
|
||||
- (instancetype)initWithName:(NSString *)name;
|
||||
|
||||
/**
|
||||
初始化
|
||||
|
||||
@param name 日志服务名称
|
||||
@param secretKey 密钥(AES)
|
||||
@return 日志服务对象
|
||||
*/
|
||||
- (instancetype)initWithName:(NSString *)name
|
||||
secretKey:(NSString *)secretKey;
|
||||
|
||||
/**
|
||||
写入数据
|
||||
|
||||
@param data 日志数据
|
||||
*/
|
||||
- (void)writeData:(id<NSCoding>)data;
|
||||
|
||||
/**
|
||||
写入数据数组
|
||||
|
||||
@param data 日志数据
|
||||
*/
|
||||
- (void)writeDatas:(NSArray *)data;
|
||||
|
||||
/**
|
||||
同步写入数据
|
||||
|
||||
@param data 日志数据
|
||||
*/
|
||||
|
||||
- (void)syncWriteData:(id<NSCoding>)data;
|
||||
|
||||
/**
|
||||
需要发送日志,服务会对当前日志进行检测,如果发现存在日志会跟委托进行确认是否需要发送,然后再进行后续操作
|
||||
*/
|
||||
- (void)needsSendLog;
|
||||
|
||||
/**
|
||||
需要发送日志,服务会对当前日志进行检测,如果发现存在日志会跟委托进行确认是否需要发送,然后再进行后续操作
|
||||
|
||||
@param time 延时检测时间
|
||||
*/
|
||||
- (void)needsSendLogAfterTime:(NSTimeInterval)time;
|
||||
|
||||
@end
|
||||
@@ -1,63 +0,0 @@
|
||||
//
|
||||
// MOBFNetworkFlowInfo.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by fenghj on 15/12/17.
|
||||
// Copyright © 2015年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
/**
|
||||
* 网络流量信息
|
||||
*/
|
||||
@interface MOBFNetworkFlowInfo : NSObject
|
||||
|
||||
/**
|
||||
* 接收到的字节数
|
||||
*/
|
||||
@property (nonatomic, readonly) NSUInteger receivedBytes;
|
||||
|
||||
/**
|
||||
* 发送字节数
|
||||
*/
|
||||
@property (nonatomic, readonly) NSUInteger sentBytes;
|
||||
|
||||
/**
|
||||
* 最后的更新时间
|
||||
*/
|
||||
@property (nonatomic, strong, readonly) NSDate *lastChangeTime;
|
||||
|
||||
/**
|
||||
* WIFI下的接收字节数
|
||||
*/
|
||||
@property (nonatomic, readonly) NSUInteger WIFIReceivedBytes;
|
||||
|
||||
/**
|
||||
* WIFI下的发送字节数
|
||||
*/
|
||||
@property (nonatomic, readonly) NSUInteger WIFISentBytes;
|
||||
|
||||
/**
|
||||
* 蜂窝网络下的接收字节数
|
||||
*/
|
||||
@property (nonatomic, readonly) NSUInteger WWANReceivedBytes;
|
||||
|
||||
/**
|
||||
* 蜂窝网络下的发送字节数
|
||||
*/
|
||||
@property (nonatomic, readonly) NSUInteger WWANSentBytes;
|
||||
|
||||
/**
|
||||
* 获取网络流量信息共享实例
|
||||
*
|
||||
* @return 网络流量信息对象
|
||||
*/
|
||||
+ (MOBFNetworkFlowInfo *)sharedInstance;
|
||||
|
||||
/**
|
||||
* 更新信息
|
||||
*/
|
||||
- (void)update;
|
||||
|
||||
@end
|
||||
@@ -21,33 +21,27 @@
|
||||
typedef NSString *(^MOBFReplacingOccurrencesHandler) (NSInteger captureCount, NSString *const capturedStrings[captureCount], const NSRange capturedRanges[captureCount], volatile BOOL * const stop);
|
||||
|
||||
/**
|
||||
* 正则表达式选项
|
||||
正则表达式选项
|
||||
|
||||
- MOBFRegexOptionsNoOptions: 无匹配
|
||||
- MOBFRegexOptionsCaseless: 不区分字母大小写的模式
|
||||
- MOBFRegexOptionsComments: 忽略掉正则表达式中的空格和#号之后的字符
|
||||
- MOBFRegexOptionsIgnoreMetacharacters: 将正则表达式整体作为字符串处理
|
||||
- MOBFRegexOptionsDotAll: 允许.匹配任何字符,包括换行符
|
||||
- MOBFRegexOptionsMultiline: 允许^和$符号匹配整段文本的开头和结尾
|
||||
- MOBFRegexOptionsUseUnixLineSeparators: 设置\n为唯一的行分隔符,否则所有的都有效。
|
||||
- MOBFRegexOptionsUnicodeWordBoundaries: 使用Unicode TR#29标准作为词的边界,否则所有传统正则表达式的词边界都有效
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, MOBFRegexOptions){
|
||||
/**
|
||||
* 无设置
|
||||
*/
|
||||
MOBFRegexOptionsNoOptions = 0,
|
||||
/**
|
||||
* 不区分大小写
|
||||
*/
|
||||
MOBFRegexOptionsCaseless = 2,
|
||||
/**
|
||||
* 注释
|
||||
*/
|
||||
MOBFRegexOptionsComments = 4,
|
||||
/**
|
||||
* 匹配点
|
||||
*/
|
||||
MOBFRegexOptionsDotAll = 32,
|
||||
/**
|
||||
* 多行模式
|
||||
*/
|
||||
MOBFRegexOptionsMultiline = 8,
|
||||
/**
|
||||
* Unicode字符
|
||||
*/
|
||||
MOBFRegexOptionsUnicodeWordBoundaries = 256
|
||||
typedef NS_ENUM(NSUInteger, MOBFRegexOptions)
|
||||
{
|
||||
MOBFRegexOptionsNoOptions = 0,
|
||||
MOBFRegexOptionsCaseless = 1 << 0,
|
||||
MOBFRegexOptionsComments = 1 << 1,
|
||||
MOBFRegexOptionsIgnoreMetacharacters = 1 << 2,
|
||||
MOBFRegexOptionsDotAll = 1 << 3,
|
||||
MOBFRegexOptionsMultiline = 1 << 4,
|
||||
MOBFRegexOptionsUseUnixLineSeparators = 1 << 5,
|
||||
MOBFRegexOptionsUnicodeWordBoundaries = 1 << 6,
|
||||
};
|
||||
|
||||
/**
|
||||
|
||||
@@ -68,6 +68,15 @@
|
||||
*/
|
||||
+ (NSData *)dataByHMACSha1String:(NSString *)string forKey:(NSString *)key;
|
||||
|
||||
/**
|
||||
使用HMAC-MD5进行签名
|
||||
|
||||
@param string 原始字符串
|
||||
@param key 密钥
|
||||
@return 签名后的数据
|
||||
*/
|
||||
+ (NSData *)dataByHMACMd5String:(NSString *)string forKey:(NSString *)key;
|
||||
|
||||
/**
|
||||
* 使用BASE64进行解码
|
||||
*
|
||||
@@ -77,6 +86,15 @@
|
||||
*/
|
||||
+ (NSData *)dataByBase64DecodeString:(NSString *)string;
|
||||
|
||||
/**
|
||||
* 使用BASE64进行解码
|
||||
*
|
||||
* @param string 原始字符串
|
||||
*
|
||||
* @return 解码后数据string
|
||||
*/
|
||||
+ (NSString *)stringByBase64DecodeString:(NSString *)string;
|
||||
|
||||
/**
|
||||
* 判断字符串中是否包含链接
|
||||
*
|
||||
@@ -104,4 +122,13 @@
|
||||
*/
|
||||
+ (NSData *)dataByHexString:(NSString *)string;
|
||||
|
||||
|
||||
/**
|
||||
* @brief 转换版本号
|
||||
|
||||
* @param ver 版本号
|
||||
* @return 转换为5位整数表示。
|
||||
*/
|
||||
+ (NSInteger)convertVersion:(NSString *)ver;
|
||||
|
||||
@end
|
||||
|
||||
@@ -0,0 +1,67 @@
|
||||
//
|
||||
// MOBFTagService.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by liyc on 2017/10/27.
|
||||
// Copyright © 2017年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
/**
|
||||
* 错误消息类型
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, MOBFErrorTagMsgType){
|
||||
/*
|
||||
* 标签为空
|
||||
*/
|
||||
MOBFErrorTagMsgTypeGetTagEmpty = 109996,
|
||||
/*
|
||||
* 获取标签失败
|
||||
*/
|
||||
MOBFErrorTagMsgTypeGetTagFailed = 109997,
|
||||
/**
|
||||
* 上传标签超出字符限制
|
||||
*/
|
||||
MOBFErrorTagMsgTypeCharacterLimitError = 109998,
|
||||
/**
|
||||
* 上传无效参数
|
||||
*/
|
||||
MOBFErrorTagMsgTypeInvalidParamError = 109999,
|
||||
};
|
||||
|
||||
@interface MOBFTagService : NSObject
|
||||
|
||||
/**
|
||||
上传标记我的用户
|
||||
|
||||
@param tags 用户信息
|
||||
@param result 回调信息
|
||||
*/
|
||||
+ (void)tagUserUpload:(NSDictionary *)tags
|
||||
result:(void (^)(NSError *error))result;
|
||||
|
||||
/**
|
||||
获取标签
|
||||
|
||||
@param handler 回调
|
||||
*/
|
||||
+ (void)userTags:(void (^) (NSDictionary *userTags, NSError *error))handler;
|
||||
|
||||
/**
|
||||
上传位置信息
|
||||
|
||||
@param accuracy 精度
|
||||
@param latitude 纬度
|
||||
@param longitude 经度
|
||||
@param tag 完整地理信息JSON数据
|
||||
@param handler 回调信息
|
||||
*/
|
||||
+ (void)uploadLocation:(CGFloat)accuracy
|
||||
latitude:(CGFloat)latitude
|
||||
longitude:(CGFloat)longitude
|
||||
tag:(NSDictionary *)tag
|
||||
result:(void (^)(NSError *error))result;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,90 @@
|
||||
//
|
||||
// MOBFUser.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by 冯鸿杰 on 17/3/17.
|
||||
// Copyright © 2017年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <MOBFoundation/MOBFoundation.h>
|
||||
#import "IMOBBaseUser.h"
|
||||
#import "MOBFDataModel.h"
|
||||
|
||||
/**
|
||||
用户信息
|
||||
*/
|
||||
@interface MOBFUser : MOBFDataModel <IMOBBaseUser>
|
||||
|
||||
/**
|
||||
用户标识
|
||||
*/
|
||||
@property (nonatomic, copy, readonly, nullable) NSString * uid;
|
||||
|
||||
/**
|
||||
应用的用户标识
|
||||
*/
|
||||
@property (nonatomic, copy, readonly, nullable) NSString * appUid;
|
||||
|
||||
/**
|
||||
用户头像
|
||||
*/
|
||||
@property (nonatomic, copy, nullable) NSString * avatar;
|
||||
|
||||
/**
|
||||
用户昵称
|
||||
*/
|
||||
@property (nonatomic, copy, nullable) NSString * nickname;
|
||||
|
||||
/**
|
||||
签名信息
|
||||
*/
|
||||
@property (nonatomic, copy, nullable) NSString * sign;
|
||||
|
||||
/**
|
||||
用户自定义数据
|
||||
*/
|
||||
@property (nonatomic, strong, nullable) NSDictionary * userdata;
|
||||
|
||||
/**
|
||||
创建第三方用户信息
|
||||
|
||||
@param uid 用户标识,能够表示你的用户唯一性的标识
|
||||
@param avatar 用户头像地址
|
||||
@param nickname 用户名称
|
||||
@return 用户信息
|
||||
*/
|
||||
+ (MOBFUser* _Nullable)userWithUid:(NSString * _Nonnull)uid
|
||||
avatar:(NSString * _Nullable)avatar
|
||||
nickname:(NSString * _Nullable)nickname __deprecated_msg("use userWithAppUid:avatar:nickname:userData: method instead.");
|
||||
|
||||
/**
|
||||
创建第三方用户信息
|
||||
|
||||
@param appUid 用户标识,能够表示你的用户唯一性的标识
|
||||
@param avatar 用户头像地址
|
||||
@param nickname 用户名称
|
||||
@param userdata 用户自定义数据
|
||||
@return 用户信息
|
||||
*/
|
||||
+ (MOBFUser* _Nullable)userWithAppUid:(NSString * _Nonnull )appUid
|
||||
avatar:(NSString * _Nullable)avatar
|
||||
nickname:(NSString * _Nullable)nickname
|
||||
userdata:(NSDictionary * _Nullable)userdata;
|
||||
|
||||
/**
|
||||
创建第三方用户信息
|
||||
|
||||
@param appUid 用户标识,能够表示你的用户唯一性的标识
|
||||
@param avatar 用户头像地址
|
||||
@param nickname 用户名称
|
||||
@param userdata 用户自定义数据
|
||||
@return 用户信息
|
||||
*/
|
||||
+ (MOBFUser* _Nullable)userWithAppUid:(NSString * _Nonnull )appUid
|
||||
avatar:(NSString * _Nullable)avatar
|
||||
nickname:(NSString * _Nullable)nickname
|
||||
sign:(NSString * _Nullable)sign
|
||||
userdata:(NSDictionary * _Nullable)userdata;
|
||||
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,101 @@
|
||||
//
|
||||
// MOBFWKWebViewContext.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by 崔林豪 on 2018/11/6.
|
||||
// Copyright © 2018年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import "MOBFJSTypeDefine.h"
|
||||
#import <WebKit/WebKit.h>
|
||||
#include <JavaScriptCore/JavaScript.h>
|
||||
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
|
||||
@interface MOBFWKWebViewContext : NSObject
|
||||
|
||||
@property (nonatomic, strong) WKWebView *webView;
|
||||
|
||||
/**
|
||||
* 初始化
|
||||
*
|
||||
* @return 单例对象
|
||||
*/
|
||||
+ (instancetype)defaultContext;
|
||||
|
||||
/**
|
||||
初始化
|
||||
|
||||
@param webview Web视图,如果传入视图带有委托处理,请在传入该参数前将委托设置,否则会奔溃。
|
||||
@return 类实例
|
||||
*/
|
||||
- (instancetype)initWithWKWebView:(WKWebView *)webview;
|
||||
|
||||
|
||||
/**
|
||||
* 注册方法
|
||||
*
|
||||
* @param name 方法名称
|
||||
* @param block 方法执行
|
||||
*/
|
||||
- (void)registerJSMethod:(NSString *)name block:(MOBFJSMethodIMP)block;
|
||||
|
||||
|
||||
/**
|
||||
* 调用方法
|
||||
*
|
||||
* @param name 方法名称
|
||||
* @param arguments 参数
|
||||
*
|
||||
* @return 返回值
|
||||
*/
|
||||
- (NSString *)callJSMethod:(NSString *)name arguments:(NSArray *)arguments;
|
||||
|
||||
/**
|
||||
* 创建新版本JS解析器
|
||||
*/
|
||||
- (void)setupWKWebViewNewJSParser;
|
||||
|
||||
|
||||
- (void)initWKWebViewDelegate:(WKWebView *)wkWebView;
|
||||
|
||||
/**
|
||||
* 加载插件
|
||||
*
|
||||
* @param path 插件脚本文件路径
|
||||
* @param name 插件名称
|
||||
*/
|
||||
- (void)loadPluginWithPath:(NSString *)path forName:(NSString *)name;
|
||||
|
||||
/**
|
||||
* 加载插件
|
||||
*
|
||||
* @param content 插件脚本内容
|
||||
* @param name 插件名称
|
||||
*/
|
||||
- (void)loadPlugin:(NSString *)content forName:(NSString *)name;
|
||||
|
||||
/**
|
||||
* 执行脚本
|
||||
*
|
||||
* @param script 脚本
|
||||
*/
|
||||
- (void)runScript:(NSString *)script;
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* 回调JS
|
||||
*
|
||||
* @param callback 回调方法名称
|
||||
* @param resultData 回调数据
|
||||
*/
|
||||
- (void)callback:(NSString *)callback resultData:(NSDictionary *)resultData;
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
||||
@@ -26,11 +26,10 @@
|
||||
#import <MOBFoundation/MOBFDataService.h>
|
||||
#import <MOBFoundation/MOBFHttpService.h>
|
||||
#import <MOBFoundation/MOBFImageGetter.h>
|
||||
#import <MOBFoundation/MOBFJSContext.h>
|
||||
|
||||
#import <MOBFoundation/IMOBFPlugin.h>
|
||||
#import <MOBFoundation/MOBFPluginManager.h>
|
||||
#import <MOBFoundation/MOBFImageCachePolicy.h>
|
||||
|
||||
#import <MOBFoundation/MOBFNotificationCenter.h>
|
||||
|
||||
#import <MOBFoundation/MobSDK.h>
|
||||
|
||||
#endif
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
//
|
||||
// MOBSDKDef.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by liyc on 2018/8/22.
|
||||
// Copyright © 2018年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#ifndef MOBSDKDef_h
|
||||
#define MOBSDKDef_h
|
||||
|
||||
/**
|
||||
* 国际域名类型
|
||||
*/
|
||||
typedef NS_ENUM(NSUInteger, MOBFSDKDomainType){
|
||||
/**
|
||||
* 默认(大陆域名)
|
||||
*/
|
||||
MOBFSDKDomainTypeDefault = 0,
|
||||
/**
|
||||
* 美国
|
||||
*/
|
||||
MOBFSDKDomainTypeUS = 1,
|
||||
/**
|
||||
* 日本
|
||||
*/
|
||||
MOBFSDKDomainTypeJapan = 2,
|
||||
};
|
||||
|
||||
#endif /* MOBSDKDef_h */
|
||||
@@ -0,0 +1,64 @@
|
||||
//
|
||||
// MobSDK+Privacy.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by liyc on 2020/1/21.
|
||||
// Copyright © 2020 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <MOBFoundation/MobSDK.h>
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
#ifndef MobSDK_Privacy_h
|
||||
#define MobSDK_Privacy_h
|
||||
|
||||
@interface MobSDK (Privacy)
|
||||
|
||||
|
||||
/**
|
||||
获取MobTech用户隐私协议
|
||||
|
||||
@param type 协议类型 (1= url类型, 2= 富文本类型)
|
||||
@param completion 返回回调(data:字典类型 title=标题,content=内容(type=1,返回url,type = 2时返回富文本) error:详细错误信息)
|
||||
*/
|
||||
+ (void)getPrivacyPolicy:(NSString * _Nullable)type
|
||||
compeletion:(void (^ _Nullable)(NSDictionary * _Nullable data,NSError * _Nullable error))result DEPRECATED_MSG_ATTRIBUTE("use -[getPrivacyPolicy:language:compeletion:] method instead.");
|
||||
|
||||
/**
|
||||
获取MobTech用户隐私协议
|
||||
|
||||
@param type 协议类型 (1= url类型, 2= 富文本类型)
|
||||
@param language 隐私协议支持语言()
|
||||
@param completion 返回回调(data:字典类型 title=标题,content=内容(type=1,返回url,type = 2时返回富文本) error:详细错误信息)
|
||||
*/
|
||||
+ (void)getPrivacyPolicy:(NSString * _Nullable)type
|
||||
language:(NSString * _Nullable)language
|
||||
compeletion:(void (^ _Nullable)(NSDictionary * _Nullable data,NSError * _Nullable error))result;
|
||||
|
||||
/**
|
||||
上传隐私协议授权状态
|
||||
@param isAgree 是否同意(用户授权后的结果)
|
||||
*/
|
||||
+ (void)uploadPrivacyPermissionStatus:(BOOL)isAgree
|
||||
onResult:(void (^_Nullable)(BOOL success))handler;
|
||||
|
||||
/**
|
||||
设置是否允许弹窗
|
||||
@param show 是否允许展示隐私协议二次弹窗(最好设置为YES,否则可能会导致MobTech部分功能无法使用,默认为YES)
|
||||
*/
|
||||
+ (void)setAllowShowPrivacyWindow:(BOOL)show DEPRECATED_MSG_ATTRIBUTE("deprecated");
|
||||
|
||||
/**
|
||||
设置隐私协议弹窗色调
|
||||
@param backColorb 弹窗背景色调
|
||||
@param colors 弹窗按钮色调数组(首个元素为拒绝按钮色调,第二个元素为同意按钮色调)
|
||||
*/
|
||||
+ (void)setPrivacyBackgroundColor:(UIColor *_Nullable)backColor
|
||||
operationButtonColor:(NSArray <UIColor *>*_Nullable)colors DEPRECATED_MSG_ATTRIBUTE("deprecated");
|
||||
|
||||
|
||||
|
||||
@end
|
||||
|
||||
|
||||
#endif /* MobSDK_Privacy_h */
|
||||
+104
@@ -0,0 +1,104 @@
|
||||
//
|
||||
// MobSDK.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by liyc on 17/2/23.
|
||||
// Copyright © 2017年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
#import "MOBSDKDef.h"
|
||||
|
||||
/**
|
||||
MobSDK
|
||||
*/
|
||||
@interface MobSDK : NSObject
|
||||
|
||||
/**
|
||||
获取版本号
|
||||
|
||||
@return 版本号
|
||||
*/
|
||||
+ (NSString * _Nonnull)version;
|
||||
|
||||
/**
|
||||
获取应用标识
|
||||
|
||||
@return 应用标识
|
||||
*/
|
||||
+ (NSString * _Nullable)appKey;
|
||||
|
||||
/**
|
||||
获取应用密钥
|
||||
|
||||
@return 应用密钥
|
||||
*/
|
||||
+ (NSString * _Nullable)appSecret;
|
||||
|
||||
/**
|
||||
获取当前国际域名
|
||||
|
||||
@return 域名
|
||||
*/
|
||||
+ (NSString *_Nullable)getInternationalDomain;
|
||||
|
||||
/**
|
||||
设置国际域名
|
||||
|
||||
@param domainType 域名类型
|
||||
*/
|
||||
+ (void)setInternationalDomain:(MOBFSDKDomainType)domainType;
|
||||
|
||||
/**
|
||||
变更应用密钥,针对服务器刷新应用密钥后,可以通过该方法进行修改
|
||||
|
||||
@param appSecret 应用密钥
|
||||
*/
|
||||
+ (void)changeAppSecret:(NSString * _Nonnull)appSecret;
|
||||
|
||||
/**
|
||||
注册appKey、appSecret
|
||||
|
||||
@param appKey appKey
|
||||
@param appSecret appSecret
|
||||
*/
|
||||
+ (void)registerAppKey:(NSString * _Nonnull)appKey
|
||||
appSecret:(NSString * _Nonnull)appSecret;
|
||||
|
||||
#pragma mark - User
|
||||
|
||||
|
||||
/**
|
||||
设置用户
|
||||
|
||||
@param uid 用户标识,对应应用自身用户系统的用户唯一标志,不一定是实际的用户ID,可以通过数据变换的方式(如:MD5(userID))来生成该ID,但一定要能够唯一标识用户。设置nil表示注销用户,解除绑定
|
||||
@param nickname 昵称
|
||||
@param avatar 头像
|
||||
@param userData 用户自定义数据
|
||||
*/
|
||||
+ (void)setUserWithUid:(NSString * _Nullable)uid
|
||||
nickName:(NSString * _Nullable)nickname
|
||||
avatar:(NSString * _Nullable)avatar
|
||||
userData:(NSDictionary * _Nullable)userData;
|
||||
|
||||
/**
|
||||
设置用户
|
||||
|
||||
@param uid 用户标识,对应应用自身用户系统的用户唯一标志,不一定是实际的用户ID,可以通过数据变换的方式(如:MD5(userID))来生成该ID,但一定要能够唯一标识用户。设置nil表示注销用户,解除绑定
|
||||
@param nickname 昵称
|
||||
@param avatar 头像
|
||||
@param userData 用户自定义数据
|
||||
*/
|
||||
+ (void)setUserWithUid:(NSString * _Nullable)uid
|
||||
nickName:(NSString * _Nullable)nickname
|
||||
avatar:(NSString * _Nullable)avatar
|
||||
sign:(NSString * _Nullable)sign
|
||||
userData:(NSDictionary * _Nullable)userData;
|
||||
|
||||
|
||||
/**
|
||||
清空用户
|
||||
*/
|
||||
+ (void)clearUser;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// UIImageView+MOBFWebCache.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by wukx on 2018/6/6.
|
||||
// Copyright © 2018年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
@interface UIImageView (MOBFWebCache)
|
||||
|
||||
- (void)mobf_setImageWithURL:(nullable NSURL *)url;
|
||||
|
||||
- (void)mobf_setImageWithURL:(nullable NSURL *)url
|
||||
placeholderImage:(nullable UIImage *)placeholder;
|
||||
|
||||
@end
|
||||
@@ -0,0 +1,18 @@
|
||||
//
|
||||
// UIView+MOBFWebCache.h
|
||||
// MOBFoundation
|
||||
//
|
||||
// Created by wukx on 2018/6/6.
|
||||
// Copyright © 2018年 MOB. All rights reserved.
|
||||
//
|
||||
|
||||
#import <UIKit/UIKit.h>
|
||||
|
||||
typedef void(^MOBFSetImageBlock)(UIImage * _Nullable image, NSError * _Nullable error);
|
||||
|
||||
@interface UIView (MOBFWebCache)
|
||||
|
||||
- (void)mobf_internalSetImageWithURL:(nullable NSURL *)url
|
||||
setImageBlock:(nullable MOBFSetImageBlock)setImageBlock;
|
||||
|
||||
@end
|
||||
Reference in New Issue
Block a user