smssdk更新
This commit is contained in:
parent
14ab3bf6ab
commit
3f5ee249b5
|
|
@ -17,7 +17,7 @@
|
|||
#import <SMS_SDK/SMSSDK.h>
|
||||
#define SMSSDK_APPKey @"18c4fdbfbdbbf"
|
||||
#define SMSSDK_APPSec @"2cf5da5abdba9dfbde6952f049f01ae6"
|
||||
#import <SMS_SDK/Extend/SMSSDK+AddressBookMethods.h>
|
||||
|
||||
|
||||
@interface AppDelegate : UIResponder <UIApplicationDelegate>
|
||||
|
||||
|
|
|
|||
|
|
@ -49,6 +49,8 @@
|
|||
#import <UMCommunitySDK/UMComSession.h>
|
||||
#import <UMSocialCore/UMSocialCore.h>
|
||||
#import "AppDelegate+AliPushConfig.h"
|
||||
#import <SMS_SDK/SMSSDK+ContactFriends.h>
|
||||
|
||||
#define UMCommunity_APPKEY @"569f530fe0f55a3e9a002502"
|
||||
#define UMCommunity_SECRET @"462384e695d18d287ee46c423c5dce34"
|
||||
|
||||
|
|
@ -175,8 +177,7 @@
|
|||
#ifdef __OPTIMIZE__
|
||||
[AvoidCrash becomeEffective];
|
||||
#endif
|
||||
//短信验证
|
||||
[SMSSDK registerApp:SMSSDK_APPKey withSecret:SMSSDK_APPSec];
|
||||
|
||||
[SMSSDK enableAppContactFriends:NO];
|
||||
/**
|
||||
* 注册APNS
|
||||
|
|
|
|||
|
|
@ -8,6 +8,8 @@
|
|||
<string>爱鱼奇</string>
|
||||
<key>CFBundleExecutable</key>
|
||||
<string>$(EXECUTABLE_NAME)</string>
|
||||
<key>CFBundleGetInfoString</key>
|
||||
<string></string>
|
||||
<key>CFBundleIdentifier</key>
|
||||
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
|
||||
<key>CFBundleInfoDictionaryVersion</key>
|
||||
|
|
@ -127,6 +129,12 @@
|
|||
</array>
|
||||
<key>LSRequiresIPhoneOS</key>
|
||||
<true/>
|
||||
<key>MOBAppKey</key>
|
||||
<string>18c4fdbfbdbbf</string>
|
||||
<key>MOBAppSecret</key>
|
||||
<string>2cf5da5abdba9dfbde6952f049f01ae6</string>
|
||||
<key>MOBNetLater</key>
|
||||
<integer>2</integer>
|
||||
<key>NSAppTransportSecurity</key>
|
||||
<dict>
|
||||
<key>NS Exception Domains</key>
|
||||
|
|
|
|||
Binary file not shown.
|
|
@ -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 */
|
||||
|
|
@ -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
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -3,6 +3,8 @@ MOBFoundation.framework
|
|||
=========================================
|
||||
|
||||
1、引用此库需要添加下面依赖库:
|
||||
libz.dylib
|
||||
libicucore.dylib
|
||||
libz.tdb
|
||||
libstdc++.tdb
|
||||
|
||||
2、版本
|
||||
3.2.26
|
||||
|
|
|
|||
Binary file not shown.
Binary file not shown.
|
|
@ -1,54 +0,0 @@
|
|||
//
|
||||
// SMSSDK+AddressBookMethods.h
|
||||
// SMS_SDK
|
||||
//
|
||||
// Created by 李愿生 on 15/8/25.
|
||||
// Copyright (c) 2015年 掌淘科技. All rights reserved.
|
||||
//
|
||||
|
||||
#import <SMS_SDK/SMSSDK.h>
|
||||
|
||||
@interface SMSSDK (AddressBookMethods)
|
||||
|
||||
|
||||
#pragma mark - 是否启用通讯录好友功能、提交用户资料、请求通讯好友信息
|
||||
|
||||
/**
|
||||
* @brief 获取通讯录数据(Get the addressBook list data)
|
||||
* @return 通讯录数据数组,数据元素类型是SMS_AddressBook(The array of addressBook list data, the type of array's element is SMS_AddressBook)
|
||||
*/
|
||||
+ (NSMutableArray*) addressBook;
|
||||
|
||||
/**
|
||||
* @brief 是否允许访问通讯录好友(is Allowed to access to address book)
|
||||
|
||||
* @param state YES 代表启用 NO 代表不启用 默认为启用(YES,by default,means allow to access to address book)
|
||||
*/
|
||||
+ (void) enableAppContactFriends:(BOOL)state;
|
||||
|
||||
|
||||
/**
|
||||
* @from v2.0.5
|
||||
* @brief 向服务端请求获取通讯录好友信息(Get the data of address book which save in the server)
|
||||
*
|
||||
* @param result 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) getAllContactFriends:(SMSGetAllContactFriendsResultHandler)result;
|
||||
|
||||
|
||||
#pragma mark - 设置最新好友条数、显示最新好友条数
|
||||
/**
|
||||
* @brief 设置新增好友条数(The new added friends)
|
||||
*
|
||||
* @param count 好友条数(The number of friends)
|
||||
*/
|
||||
+ (void) setLatelyFriendsCount:(int)count;
|
||||
|
||||
/**
|
||||
* @brief 显示新增好友条数回调(Display recently new friends number callback)
|
||||
*
|
||||
* @param result 结果回调(Results of the request )
|
||||
*/
|
||||
+ (void) showFriendsBadge:(SMSShowNewFriendsCountBlock)result;
|
||||
|
||||
@end
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
//
|
||||
// SMSSDK+ExtexdMethods.h
|
||||
// SMS_SDK
|
||||
//
|
||||
// Created by 李愿生 on 15/8/25.
|
||||
// Copyright (c) 2015年 掌淘科技. All rights reserved.
|
||||
//
|
||||
|
||||
#import <SMS_SDK/SMSSDK.h>
|
||||
|
||||
@interface SMSSDK (ExtexdMethods)
|
||||
|
||||
/**
|
||||
* @from v1.1.1
|
||||
* @brief 获取区号(Get the Area code of the country)
|
||||
*
|
||||
* @param result 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) getCountryZone:(SMSGetZoneResultHandler)result;
|
||||
|
||||
/**
|
||||
* @from v1.1.1
|
||||
* @brief 提交用户资料(Submit the user information data)
|
||||
*
|
||||
* @param user 用户信息(User information)
|
||||
* @param result 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) submitUserInfoHandler:(SMSSDKUserInfo *)userInfo
|
||||
result:(SMSSubmitUserInfoResultHandler)result;
|
||||
|
||||
@end
|
||||
|
|
@ -1,31 +0,0 @@
|
|||
//
|
||||
// CountryAndAreaCode.h
|
||||
// SMS_SDKDemo
|
||||
//
|
||||
// Created by 掌淘科技 on 14-6-6.
|
||||
// Copyright (c) 2014年 掌淘科技. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
/**
|
||||
* @brief 国家名称和国家码类
|
||||
*/
|
||||
@interface SMSSDKCountryAndAreaCode : NSObject
|
||||
|
||||
/**
|
||||
* @brief 国家中文名称
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *countryName;
|
||||
|
||||
/**
|
||||
* @brief 国家码
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *areaCode;
|
||||
|
||||
/**
|
||||
* @brief 国家拼音名字
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *pinyinName;
|
||||
|
||||
@end
|
||||
|
|
@ -1,192 +0,0 @@
|
|||
//
|
||||
// SMS_SDKResultHanderDef.h
|
||||
// SMS_SDKDemo
|
||||
//
|
||||
// Created by 掌淘科技 on 14-7-11.
|
||||
// Copyright (c) 2014年 掌淘科技. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
@class SMSSDKUserInfo;
|
||||
///#begin zh-cn
|
||||
/**
|
||||
* @brief 错误代码,如果为调用API出错则应该参考API错误码对照表。错误码对照表如下:
|
||||
错误码 错误描述 备注
|
||||
252 发送短信条数超过限制 发送短信条数超过规则限制
|
||||
253 无权限进行此操作 无权限进行此操作
|
||||
254 无权限发送验证码 无权限发送验证码
|
||||
255 无权限发送国内验证码 无权限发送国内验证码
|
||||
256 无权限发送港澳台验证码 无权限发送港澳台验证码
|
||||
257 无权限发送国外验证码 无权限发送国外验证码
|
||||
258 操作过于频繁 操作过于频繁
|
||||
259 未知错误 未知错误
|
||||
260 未知错误 未知错误
|
||||
261 数据错误 数据未知错误
|
||||
262 请检查网络授权 请检查网络授权设置
|
||||
263 数据错误 数据未知错误
|
||||
264 数据错误 duid获取错误
|
||||
400 无效请求 客户端请求不能被识别。
|
||||
406 AppKey错误 请求的AppKey不存在。
|
||||
408 无效参数 无效的请求参数
|
||||
456 手机号码为空 提交的手机号或者区号为空
|
||||
457 手机号码格式错误 提交的手机号格式不正确(包括手机的区号)
|
||||
458 appkey在黑名单中 appkey在发送很名单中
|
||||
459 无appKey的控制数据 获取appKey控制发送短信的数据失败
|
||||
460 无权限发送短信 没有打开客户端发送短信的开关
|
||||
461 不支持该地区发送短信 没有开通当前地区发送短信的功能
|
||||
462 每分钟发送次数超限 每分钟发送短息的次数超出限制
|
||||
463 手机号码每天发送次数超限 手机号码每天发送短信的次数超出限制
|
||||
464 每台手机每天发送次数超限 每台手机每天发送短信的次数超限
|
||||
465 号码在App中每天发送短信的次数超限 手机号码在App中每天发送短信的数量超限
|
||||
466 校验的验证码为空 提交的校验验证码为空
|
||||
467 校验验证码请求频繁 5分钟内校验错误超过3次,验证码失效
|
||||
468 需要校验的验证码错误 用户提交的验证码错误
|
||||
470 账号余额不足 账号短信余额不足
|
||||
472 客户端请求发送短信验证过于频繁 客户端请求发送短信验证过于频繁
|
||||
475 appKey的应用信息不存在 appKey的应用信息不存在
|
||||
476 当前appkey发送短信的数量超过限额 如果当前appkey对应的包名没有通过审核,每天次appkey+包名最多可以发送20条短信
|
||||
477 当前手机号发送短信的数量超过当天限额 当前手机号码在SMSSDK平台内每天最多可发送短信10条,包括客户端发送和WebApi发送
|
||||
478 当前手机号在当前应用内发送超过限额 当前手机号码在当前应用下12小时内最多可发送文本验证码5条
|
||||
479 SDK使用的公共库版本错误 当前SDK使用的公共库版本为非IDFA版本,需要更换为IDFA版本
|
||||
480 SDK没有提交AES-KEY 客户端在获取令牌的接口中没有传递aesKey。
|
||||
500 服务器内部错误 服务器程序报错
|
||||
*/
|
||||
///#end
|
||||
///#begin en
|
||||
/**
|
||||
* @brief Error code,If it is you call the API, you should see the error code table, if it is an HTTP error, this attribute indicates the HTTP error code.
|
||||
ErrorCode Error description Remarks
|
||||
252 Sending messages more than limit Sending messages more than limit
|
||||
253 No permission to do this No permission to do this
|
||||
254 No permission to get verificationcode No permission to get verificationcode
|
||||
255 No permission to send domestic verificationcode No permission to send domestic verificationcode
|
||||
256 No permission to send verificationcode from Hong Kong, Macao and Taiwan No permission to send verificationcode from Hong Kong, Macao and Taiwan
|
||||
257 No permission verification code sent abroad No permission verification code sent abroad
|
||||
258 Action is too frequent Action is too frequent
|
||||
259 Unknown error Unknown error
|
||||
260 Unknown error Unknown error
|
||||
261 Data is error Data is error of the unknown reason
|
||||
262 Internet is error The Internet connection appears to be offline
|
||||
263 Data is error Data is error of the unknown reason";
|
||||
264 Data is error Data is error of the unknown reason";
|
||||
400 Invalid request The request could not be identified
|
||||
406 AppKey is error The AppKey is not exist
|
||||
408 Invalid parameter The parameters are invalid in the request
|
||||
456 Phone number is empty The submitted phone number or country code is empty
|
||||
457 Phone number is illegal The submitted phone number or country code is incorrect
|
||||
458 AppKey in the blacklist AppKey in the blacklist
|
||||
459 Unable to obtain data Unable to obtain data related to the appkey
|
||||
460 Permission denied Please turn on the switch to sending text messages by clients
|
||||
461 Do not support the region to send text messages Do not support the region to send text messages
|
||||
462 Sending messages limited per minute Sending text message already hit its time limit
|
||||
463 Sending messages limited everyday Sending text message to the phone number already hit its limit
|
||||
464 Sending text message hits limit Sending text message to the device already hit its limit
|
||||
465 Sending text message hits limit Sending text message to the device already hit the app's limit
|
||||
466 The verification code is empty The submitted verification code is empty
|
||||
467 Too frequently Check validation code too frequently
|
||||
468 Invalid validation code Invalid validation code
|
||||
470 Insufficient balance Insufficient balance
|
||||
472 Unable to obtain data Obtaining client platform information failed
|
||||
475 No application information of appkey exists No application information of appkey exists
|
||||
476 The current appkey send text messages over limit
|
||||
477 The current phone number send messages over the limit
|
||||
478 The current phone number in the current application sends messages over the limit
|
||||
479 The MOBFoundation.framework's version is wrong, please use it with idfa
|
||||
480 SDK not submit aeskey in the interface of the access token
|
||||
500 Server Error Server Error
|
||||
*/
|
||||
///#end
|
||||
|
||||
/**
|
||||
* @brief 返回状态。
|
||||
*/
|
||||
enum SMSResponseState
|
||||
{
|
||||
SMSResponseStateSuccess = 0,
|
||||
SMSResponseStateFail = 1,
|
||||
SMSResponseStateCancel = 2
|
||||
};
|
||||
|
||||
|
||||
typedef enum SMSGetCodeMethod
|
||||
{
|
||||
SMSGetCodeMethodSMS = 0, //文本短信方式
|
||||
SMSGetCodeMethodVoice = 1 //语音方式
|
||||
|
||||
} SMSGetCodeMethod;
|
||||
|
||||
/**
|
||||
* @brief 验证码获取回调
|
||||
* @param error 当error为空时表示成功
|
||||
*/
|
||||
typedef void (^SMSGetCodeResultHandler) (NSError *error);
|
||||
|
||||
/**
|
||||
* @from v2.0.7
|
||||
* @brief 验证码验证回调
|
||||
* @param userInfo 用来设置用户个人资料
|
||||
* @param error 当error为空时表示成功
|
||||
*/
|
||||
typedef void (^SMSCommitCodeResultHandler) (SMSSDKUserInfo *userInfo,NSError *error);
|
||||
|
||||
/**
|
||||
* @brief 验证码验证回调
|
||||
* @param 0:代表验证成功 1:代表验证失败
|
||||
*/
|
||||
typedef void (^SMSCommitVerifyCodeBlock)(enum SMSResponseState state);
|
||||
|
||||
/**
|
||||
* @from v1.1.1
|
||||
* @brief 国家区号获取回调
|
||||
* @param error 当error为空时表示成功
|
||||
* @param 返回的区号数组
|
||||
*/
|
||||
typedef void (^SMSGetZoneResultHandler)(NSError *error,NSArray* zonesArray);
|
||||
|
||||
/**
|
||||
* @brief 国家区号获取回调
|
||||
* @param 0:代表获取成功 1:代表获取失败
|
||||
* @param 返回的区号数组
|
||||
*/
|
||||
typedef void (^SMSGetZoneBlock)(enum SMSResponseState state,NSArray* zonesArray);
|
||||
|
||||
/**
|
||||
* @from v1.1.1
|
||||
* @brief 通讯录好友获取回调
|
||||
*
|
||||
* @param error 当error为空时表示成功
|
||||
* @param 返回的好友信息数组
|
||||
*/
|
||||
typedef void (^SMSGetAllContactFriendsResultHandler)(NSError *error,NSArray* friendsArray);
|
||||
|
||||
|
||||
/**
|
||||
* @brief 通讯录好友获取回调
|
||||
* @param 0:代表获取成功 1:代表获取失败
|
||||
* @param 返回的好友信息数组
|
||||
*/
|
||||
typedef void (^SMSGetAppContactFriendsBlock)(enum SMSResponseState state,NSArray* friendsArray);
|
||||
|
||||
|
||||
/**
|
||||
* @brief 提交用户信息回调
|
||||
* @from v1.1.1
|
||||
* @param error 当error为空时表示成功
|
||||
*/
|
||||
typedef void (^SMSSubmitUserInfoResultHandler) (NSError *error);
|
||||
|
||||
/**
|
||||
* @brief 提交用户信息回调
|
||||
* @param 0:代表获取成功 1:代表获取失败
|
||||
*/
|
||||
typedef void (^SMSSubmitUserInfoBlock) (enum SMSResponseState state);
|
||||
|
||||
/**
|
||||
* @brief 设置最近新好友回调
|
||||
* @param 0:代表成功 1:代表失败
|
||||
* @param 代表最近新好友条数
|
||||
*/
|
||||
typedef void (^SMSShowNewFriendsCountBlock)(enum SMSResponseState state,int latelyFriendsCount);
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
//
|
||||
// SMSSDK+ContactFriends.h
|
||||
// SMS_SDK
|
||||
//
|
||||
// Created by 李愿生 on 15/8/25.
|
||||
// Copyright (c) 2015年 掌淘科技. All rights reserved.
|
||||
//
|
||||
|
||||
#import <SMS_SDK/SMSSDK.h>
|
||||
|
||||
@interface SMSSDK (ContactFriends)
|
||||
|
||||
#pragma mark - 是否启用通讯录好友功能、提交用户资料、请求通讯好友信息
|
||||
|
||||
/**
|
||||
* @brief 是否允许访问通讯录好友(is Allowed to access to address book)
|
||||
|
||||
* @param state YES 代表启用 NO 代表不启用 默认为启用(YES,by default,means allow to access to address book)
|
||||
*/
|
||||
+ (void) enableAppContactFriends:(BOOL)state;
|
||||
|
||||
/**
|
||||
提交用户资料(Submit the user information data)
|
||||
|
||||
@param userInfo 用户信息(User information)
|
||||
@param result 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) submitUserInfo:(SMSSDKUserInfo *)userInfo
|
||||
result:(SMSSubmitUserInfoResultHandler)result;
|
||||
|
||||
/**
|
||||
向服务端请求获取通讯录好友信息(Get the data of address book which save in the server)
|
||||
|
||||
@param result 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) getAllContactFriends:(SMSGetContactsFriendsResultHandler)result;
|
||||
|
||||
@end
|
||||
|
|
@ -8,25 +8,32 @@
|
|||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
#import <SMS_SDK/Extend/SMSSDKResultHanderDef.h>
|
||||
#import <SMS_SDK/Extend/SMSSDKUserInfo.h>
|
||||
#import <SMS_SDK/SMSSDKResultHandlerDef.h>
|
||||
#import <SMS_SDK/SMSSDKUserInfo.h>
|
||||
|
||||
/**
|
||||
* @brief 核心类(Core class)v2.1.5
|
||||
*/
|
||||
@interface SMSSDK : NSObject
|
||||
|
||||
#pragma mark - 支持获取手机号码认证 Token (get the token to verify the phone number)
|
||||
/**
|
||||
*
|
||||
***** 请注意:测试短信条数限制发送数量:20条/天,APP开发完成后请到Mob官网(http://mob.com/ )后台提交审核,获得不限制条数的免费短信权限。
|
||||
*
|
||||
* 初始化应用,此方法在应用启动时在主线程中调用。(This method is called in the main thread in application:didFinishLaunchingWithOptions: method)
|
||||
*
|
||||
* @param appKey 在Mob官网(http://mob.com/ )中注册的应用Key。(The appKey of mob Application. Log in to http://mob.com/ to register to be a Mob developer and create a application if you don't have one)
|
||||
* @param appSecret 在Mob官网(http://mob.com/ )中注册的应用秘钥。(The appSecret of mob Application. Log in to http://mob.com/ to register to be a Mob developer and create a application if you don't have one)
|
||||
*/
|
||||
+ (void) registerApp:(NSString*)appKey withSecret:(NSString*)appSecret;
|
||||
* @brief 请求手机号码认证Token
|
||||
*
|
||||
* @param handler 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) getMobileAuthTokenWith:(SMSSDKMobileAuthTokenResultHandler)handler;
|
||||
|
||||
/**
|
||||
* @brief 验证手机号
|
||||
*
|
||||
* @param phoneNum 电话号码(The phone number)
|
||||
* @param tokenInfo SDK返回的SMSSDKAuthToken Model
|
||||
* @param completion 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) verifyMobileWithPhone:(NSString *)phoneNum
|
||||
token:(SMSSDKAuthToken *)tokenInfo
|
||||
completion:(SMSSDKMobileVerifyResultHandler)completion;
|
||||
|
||||
#pragma mark - 支持获取验证码和提交验证码 (get the verification code and commit verifacation code)
|
||||
/**
|
||||
|
|
@ -36,13 +43,27 @@
|
|||
* @param method 获取验证码的方法(The method of getting verificationCode)
|
||||
* @param phoneNumber 电话号码(The phone number)
|
||||
* @param zone 区域号,不要加"+"号(Area code)
|
||||
* @param customIdentifier 自定义短信模板标识 该标识需从官网http://www.mob.com上申请,审核通过后获得。(Custom model of SMS. The identifier can get it from http://www.mob.com when the application had approved)
|
||||
* @param result 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) getVerificationCodeByMethod:(SMSGetCodeMethod)method
|
||||
phoneNumber:(NSString *)phoneNumber
|
||||
zone:(NSString *)zone
|
||||
customIdentifier:(NSString *)customIdentifier
|
||||
result:(SMSGetCodeResultHandler)result __deprecated_msg("deprecated from v3.1.0");
|
||||
|
||||
/**
|
||||
* @from v3.1.0
|
||||
* @brief 获取验证码(Get verification code)
|
||||
*
|
||||
* @param method 获取验证码的方法(The method of getting verificationCode)
|
||||
* @param phoneNumber 电话号码(The phone number)
|
||||
* @param zone 区域号,不要加"+"号(Area code)
|
||||
* @param tmpCode 模板id(template id)
|
||||
* @param result 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) getVerificationCodeByMethod:(SMSGetCodeMethod)method
|
||||
phoneNumber:(NSString *)phoneNumber
|
||||
zone:(NSString *)zone
|
||||
template:(NSString *)tmpCode
|
||||
result:(SMSGetCodeResultHandler)result;
|
||||
|
||||
|
||||
|
|
@ -63,6 +84,14 @@
|
|||
* @from v2.0.1
|
||||
* @return 返回SDK版本号(Return the version number of this SDK)
|
||||
*/
|
||||
+ (NSString *) SMSSDKVersion;
|
||||
+ (NSString *) sdkVersion;
|
||||
|
||||
/**
|
||||
* @from v1.1.1
|
||||
* @brief 获取区号(Get the Area code of the country)
|
||||
*
|
||||
* @param result 请求结果回调(Results of the request)
|
||||
*/
|
||||
+ (void) getCountryZone:(SMSGetZoneResultHandler)result;
|
||||
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
//
|
||||
// SMSSDKAuthToken.h
|
||||
// SMS_SDK
|
||||
//
|
||||
// Created by Junjie Pang on 2020/10/28.
|
||||
// Copyright © 2020 掌淘科技. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@interface SMSSDKAuthToken : NSObject
|
||||
|
||||
/**
|
||||
* @brief 运营商返回的Token
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *opToken;
|
||||
|
||||
/**
|
||||
* @brief MobToken
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *token;
|
||||
|
||||
/**
|
||||
* @brief 运营商类型 CMCC:中国移动通信, CUCC:中国联通通讯, CTCC:中国电信
|
||||
*/
|
||||
@property (nonatomic, copy) NSString *operatorType;
|
||||
|
||||
@end
|
||||
|
|
@ -0,0 +1,98 @@
|
|||
//
|
||||
// SMS_SDKResultHanderDef.h
|
||||
// SMS_SDKDemo
|
||||
//
|
||||
// Created by 掌淘科技 on 14-7-11.
|
||||
// Copyright (c) 2014年 掌淘科技. All rights reserved.
|
||||
//
|
||||
|
||||
#import <Foundation/Foundation.h>
|
||||
|
||||
@class SMSSDKUserInfo;
|
||||
@class SMSSDKAuthToken;
|
||||
@class SMSSDKCallingResult;
|
||||
|
||||
typedef NS_ENUM(NSUInteger, SMSGetCodeMethod)
|
||||
{
|
||||
SMSGetCodeMethodSMS = 0, //文本短信方式
|
||||
SMSGetCodeMethodVoice = 1 //语音方式
|
||||
};
|
||||
|
||||
|
||||
/**
|
||||
* @brief 验证码获取回调
|
||||
* @param error 当error为空时表示成功
|
||||
*/
|
||||
typedef void (^SMSGetCodeResultHandler) (NSError *error);
|
||||
|
||||
/**
|
||||
* @from v2.0.7
|
||||
* @brief 验证码验证回调
|
||||
* @param error 当error为空时表示成功
|
||||
*/
|
||||
typedef void (^SMSCommitCodeResultHandler) (NSError *error);
|
||||
|
||||
/**
|
||||
国家区号获取回调
|
||||
|
||||
@param error error 当error为空时表示成功
|
||||
@param zonesArray 返回的区号数组
|
||||
*/
|
||||
typedef void (^SMSGetZoneResultHandler)(NSError *error,NSArray *zonesArray);
|
||||
|
||||
/**
|
||||
通讯录好友获取回调
|
||||
|
||||
@param error 当error为空时表示成功
|
||||
@param friendsArray 好友信息数组
|
||||
*/
|
||||
typedef void (^SMSGetContactsFriendsResultHandler)(NSError *error,NSArray *friendsArray);
|
||||
|
||||
/**
|
||||
* @brief 提交用户信息回调
|
||||
* @from v1.1.1
|
||||
* @param error 当error为空时表示成功
|
||||
*/
|
||||
typedef void (^SMSSubmitUserInfoResultHandler) (NSError *error);
|
||||
|
||||
/**
|
||||
联系人授权接受与拒绝回调
|
||||
|
||||
@param noMoreInquiries 不需要再显示
|
||||
*/
|
||||
typedef void(^SMSSDKDialogViewHandler)(BOOL noMoreInquiries);
|
||||
|
||||
/**
|
||||
联系人授权是否能显示
|
||||
|
||||
@param canShow 能显示
|
||||
*/
|
||||
typedef void(^SMSSDKDialogViewShowHandler)(BOOL canShow);
|
||||
|
||||
/**
|
||||
* @brief 请求手机号码认证Token结果回调
|
||||
* @param model 包含token的具体信息
|
||||
* @param error 为空时表示请求成功
|
||||
*/
|
||||
typedef void(^SMSSDKMobileAuthTokenResultHandler)(SMSSDKAuthToken *model, NSError *error);
|
||||
|
||||
/**
|
||||
* @brief 请求手机号码认证Token回调
|
||||
* @param dict 包含token的具体信息
|
||||
* @param error 为空时表示请求成功
|
||||
*/
|
||||
typedef void(^SMSSDKMobileAuthTokenHandler)(NSDictionary *dict, NSError *error);
|
||||
|
||||
/**
|
||||
* @brief 手机号码验证结果回调
|
||||
* @param isValid 是否验证成功 YES成功 NO失败
|
||||
* @param error 为空时表示请求成功
|
||||
*/
|
||||
typedef void(^SMSSDKMobileVerifyResultHandler)(BOOL isValid, NSError *error);
|
||||
|
||||
/**
|
||||
* @brief 请求手机号码认证Token回调
|
||||
* @param result SMSSDKCallingResult
|
||||
*/
|
||||
typedef void(^SMSSDKResultHandler)(SMSSDKCallingResult *result);
|
||||
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -325,8 +325,7 @@
|
|||
NSString *title = isTextCode ? @"短信验证码" : @"语音验证码";
|
||||
|
||||
[self timerFireWithTimerButton:timeBtn addPhoneNumber:phoneNumber timeBtnFinalTitle:title];
|
||||
|
||||
[SMSSDK getVerificationCodeByMethod:isTextCode ? SMSGetCodeMethodSMS : SMSGetCodeMethodVoice phoneNumber:phoneNumber zone:areaCode customIdentifier:nil result:^(NSError *error) {
|
||||
[SMSSDK getVerificationCodeByMethod:isTextCode ? SMSGetCodeMethodSMS : SMSGetCodeMethodVoice phoneNumber:phoneNumber zone:areaCode template:nil result:^(NSError *error) {
|
||||
|
||||
if (!error) {
|
||||
NSLog(@"获取验证码成功");
|
||||
|
|
@ -347,6 +346,7 @@
|
|||
}
|
||||
|
||||
}];
|
||||
;
|
||||
}
|
||||
|
||||
-(void)getverifyWithTimerButton:(UIButton*)timeBtn addphoneNumber:(NSString*)phoneNumber zone:
|
||||
|
|
@ -356,7 +356,7 @@
|
|||
|
||||
[self timerFireWithTimerButton:timeBtn addPhoneNumber:phoneNumber timeBtnFinalTitle:@"语音验证码"];
|
||||
|
||||
[SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodVoice phoneNumber:phoneNumber zone:areaCode customIdentifier:nil result:^(NSError *error) {
|
||||
[SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodVoice phoneNumber:phoneNumber zone:areaCode template:nil result:^(NSError *error) {
|
||||
|
||||
if (!error) {
|
||||
NSLog(@"获取验证码成功");
|
||||
|
|
|
|||
|
|
@ -186,7 +186,7 @@ UserModel*model=[[DataCenter defaultDtacenter]valueForKey:@"UserLogIn"];
|
|||
return;
|
||||
}
|
||||
|
||||
[SMSSDK commitVerificationCode:self.sureTextFiled.text phoneNumber:model.phoneNumber zone:self.areaCode result:^(SMSSDKUserInfo *userInfo, NSError *error) {
|
||||
[SMSSDK commitVerificationCode:self.sureTextFiled.text phoneNumber:model.phoneNumber zone:self.areaCode result:^(NSError *error) {
|
||||
|
||||
{
|
||||
if (!error)
|
||||
|
|
|
|||
|
|
@ -216,7 +216,7 @@ extern BOOL firstLogIn;
|
|||
// return;
|
||||
// }
|
||||
|
||||
[SMSSDK commitVerificationCode:self.yanzhengfeild.text phoneNumber:self.xinModelNumber.text zone:self.areaCode result:^(SMSSDKUserInfo *userInfo, NSError *error) {
|
||||
[SMSSDK commitVerificationCode:self.yanzhengfeild.text phoneNumber:self.xinModelNumber.text zone:self.areaCode result:^(NSError *error) {
|
||||
|
||||
{
|
||||
if (!error)
|
||||
|
|
@ -243,7 +243,7 @@ extern BOOL firstLogIn;
|
|||
[self.view makeToast:str];
|
||||
}
|
||||
}
|
||||
}];
|
||||
} ];
|
||||
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@
|
|||
#import "ResetViewController.h"
|
||||
#import "AFNetworking.h"
|
||||
#import "XWCountryCodeController.h"
|
||||
#import <MOBFoundation/MobSDK+Privacy.h>
|
||||
@interface ForgetViewController ()
|
||||
@property (weak, nonatomic) IBOutlet UIButton *timerButton;
|
||||
@property (weak, nonatomic) IBOutlet UIButton *nextTepBtn;
|
||||
|
|
@ -24,7 +25,8 @@
|
|||
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[MobSDK uploadPrivacyPermissionStatus:YES onResult:^(BOOL success) {
|
||||
}];
|
||||
[self addTitleViewWithTitle:@"忘记密码"];
|
||||
self.view.backgroundColor= [UIColor colorWithPatternImage:[UIImage imageNamed:@"enter_background"]];
|
||||
[self setTextkeyboadType];
|
||||
|
|
@ -200,7 +202,7 @@
|
|||
return;
|
||||
}
|
||||
__weak typeof(self)weakSelf=self;
|
||||
[SMSSDK commitVerificationCode:weakSelf.verifyTextFiled.text phoneNumber:weakSelf.phoneNumberFiled.text zone:weakSelf.areaCode result:^(SMSSDKUserInfo *userInfo, NSError *error) {
|
||||
[SMSSDK commitVerificationCode:weakSelf.verifyTextFiled.text phoneNumber:weakSelf.phoneNumberFiled.text zone:weakSelf.areaCode result:^(NSError *error) {
|
||||
|
||||
{
|
||||
if (!error)
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@
|
|||
|
||||
#import "IfishNewsModel.h"
|
||||
#import <SMS_SDK/SMSSDK.h>
|
||||
#import <SMS_SDK/Extend/SMSSDK+ExtexdMethods.h>
|
||||
#import <MOBFoundation/MobSDK+Privacy.h>
|
||||
#import "XWCountryCodeController.h"
|
||||
#import <CoreLocation/CoreLocation.h>
|
||||
@interface RegistViewController ()<UITextFieldDelegate,UIAlertViewDelegate,MBProgressHUDDelegate,CLLocationManagerDelegate,WXApiManagerDelegate>
|
||||
|
|
@ -85,6 +85,9 @@ extern BOOL formLogIn;
|
|||
}
|
||||
- (void)viewDidLoad {
|
||||
[super viewDidLoad];
|
||||
|
||||
[MobSDK uploadPrivacyPermissionStatus:YES onResult:^(BOOL success) {
|
||||
}];
|
||||
_deviceArry=[[NSMutableArray alloc]init];
|
||||
//默认中国大陆
|
||||
self.areaCode = @"86";
|
||||
|
|
@ -444,7 +447,7 @@ extern BOOL formLogIn;
|
|||
btn.userInteractionEnabled=NO;
|
||||
btn.backgroundColor=[UIColor lightGrayColor];
|
||||
|
||||
[SMSSDK commitVerificationCode:self.verifyTextField.text phoneNumber:self.phoneNumberTextField.text zone:self.areaCode result:^(SMSSDKUserInfo *userInfo, NSError *error) {
|
||||
[SMSSDK commitVerificationCode:self.verifyTextField.text phoneNumber:self.phoneNumberTextField.text zone:self.areaCode result:^(NSError *error) {
|
||||
|
||||
{
|
||||
if (!error)
|
||||
|
|
@ -625,11 +628,15 @@ extern BOOL formLogIn;
|
|||
_registBtn.userInteractionEnabled=YES;
|
||||
_registBtn.backgroundColor=COLOR_LABEL_TITLE;
|
||||
gouxuan=NO;
|
||||
[MobSDK uploadPrivacyPermissionStatus:NO onResult:^(BOOL success) {
|
||||
}];
|
||||
}else{
|
||||
[xuanBtn setBackgroundImage:[UIImage imageNamed:@"registered_icon_tick_selected"] forState:UIControlStateNormal];
|
||||
_registBtn.userInteractionEnabled=NO;
|
||||
_registBtn.backgroundColor=[UIColor lightGrayColor];
|
||||
gouxuan=YES;
|
||||
[MobSDK uploadPrivacyPermissionStatus:YES onResult:^(BOOL success) {
|
||||
}];
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue