开发工具: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 } }];
**留神:必须要本人从新自定义签名,默认签名仅用于测试,不保障达到率,上线前请务必申请自定义签名应用