开发工具:Xcode
集成形式:手动导入SDK或者Pod集成
SDK版本反对:SDK反对Xcode 9.1.0, iOS8.0+及以上版本

集成前筹备

注册账号应用SMSSDK之前,您须要在MobTech官网注册开发者账号,增加利用并获取Mob提供的AppKey和AppSecret,详情能够点击查看注册流程

SMSSDK流程图

增加配置

下载SDK导入我的项目
(1)手动下载SDK引入
点击 链接 下载最新版SDK,解压后失去以下文件构造:

将下图中红色框标记的文件夹(蕴含MOBFoundation.framework 和 SMS_SDK.framework)拖入到工程中

确认勾选,点击finish实现导入

(2)CocoaPods形式引入
通过 CocoaPods进行装置,只需在 Podfile文件中增加:
pod 'mob_smssdk'
增加之后执行 pod install / pod update 命令即可。

增加依赖库

必要:

  • libz.tbd
  • libicucore.tbd
  • MessageUI.framework
  • JavaScriptCore.framework
  • libc++.tbd

留神:在XCode7下面运行报错的话,还须要减少这几个依赖库

  • SystemConfiguration.framework
  • CoreTelephony.framework
  • AdSupport.framework

接口调用

回传用户隐衷受权后果(uploadPrivacyPermissionStatus)
为保障您的App在集成MobSDK之后可能满足工信部相干合规要求,您应确保App装置首次冷启动且获得用户浏览您《隐衷政策》受权之后,调用Mob提交到的隐衷协定回传函数uploadPrivacyPermissionStatus回传隐衷协定受权后果。
反之,如果用户不批准您App《隐衷政策》受权,则不能调用uploadPrivacyPermissionStatus回传隐衷协定受权后果。相干隐衷申明请参考这个链接合规指南

/** 上传隐衷协定受权状态 @param isAgree 是否批准(用户受权后的后果) @param OnResult 执行回调后果,可为nil (留神业务逻辑不要依赖于这个success后果,倡议业务逻辑在调用这个接口之后来写) */+ (void)uploadPrivacyPermissionStatus:(BOOL)isAgree                                                 onResult:(void (^_Nullable)(BOOL success))handler;

示例代码

#import <MOBFoundation/MobSDK+Privacy.h>[MobSDK uploadPrivacyPermissionStatus:YES onResult:^(BOOL success) {}];

申请短信验证码(getVerificationCodeByMethod)

/** *  @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;

示例代码

#import <SMS_SDK/SMSSDK.h>  //template参数不能乱填,没有能够先传""或者nil  [SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodSMS phoneNumber:@"XXXXXXXXXXX" zone:@"86" template:@"" result:^(NSError *error) {        if (!error)        {            // 申请胜利        }        else        {            // error        }    }];

注: 模板id在官网后盾 SMSSDK产品下的短信模版外面增加(须要申请过自定义短信签名的利用能力增加短信模板)

提交验证码验证(commitVerificationCode)

/** * @from                    v1.1.1 * @brief                   提交验证码(Commit the verification code) * * @param code              验证码(Verification code) * @param phoneNumber       电话号码(The phone number) * @param zone              区域号,不要加"+"号(Area code) * @param result            申请后果回调(Results of the request) */+ (void) commitVerificationCode:(NSString *)code                            phoneNumber:(NSString *)phoneNumber                                           zone:(NSString *)zone                                          result:(SMSCommitCodeResultHandler)result;

示例代码

[SMSSDK commitVerificationCode:@"XXXX" phoneNumber:@"XXXXXXXXXXX" zone:@"86"result:^(NSError *error) {        if (!error)        {            // 验证胜利        }        else        {            // error        }    }];

**留神:必须要本人从新自定义签名,默认签名仅用于测试,不保障达到率,上线前请务必申请自定义签名应用