smssdk更新

This commit is contained in:
kai60
2021-07-03 20:49:02 +08:00
parent 14ab3bf6ab
commit 3f5ee249b5
52 changed files with 1309 additions and 446 deletions
+1 -1
View File
@@ -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>
+3 -2
View File
@@ -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
View File
@@ -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 YESNO
*/
- (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
+90
View File
@@ -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
+30
View File
@@ -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=1url,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=1url,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 YESMobTech部分功能无法使用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
View File
@@ -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;
/**
appKeyappSecret
@param appKey appKey
@param appSecret appSecret
*/
+ (void)registerAppKey:(NSString * _Nonnull)appKey
appSecret:(NSString * _Nonnull)appSecret;
#pragma mark - User
/**
@param uid IDMD5userIDIDnil表示注销用户
@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 IDMD5userIDIDnil表示注销用户
@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.
+4 -2
View File
@@ -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 53
468
470
472
475 appKey的应用信息不存在 appKey的应用信息不存在
476 appkey发送短信的数量超过限额 appkey对应的包名没有通过审核appkey+20
477 SMSSDK平台内每天最多可发送短信10条WebApi发送
478 125
479 SDK使用的公共库版本错误 SDK使用的公共库版本为非IDFA版本IDFA版本
480 SDK没有提交AES-KEY aesKey
500
*/
///#end
///#begin en
/**
* @brief Error codeIf 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 classv2.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
+28
View File
@@ -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) {
}];
}