跳转到主要内容
PRODUCT DOCUMENTS

快速找到所需文档,高效完成接入与排障

浏览产品文档与友盟 Skill,展开目录并阅读正文。

iOS集成文档

友盟+短信验证码

概述

目前此SDK需使用xCode11才能支持。

目前SDK支持iOS8.0及更高版本。

官网下载SDK后进行解压,解压后包含三个文件是

a) iOS SDK开发接入文档

b) UMSMSDemo工程

c) UMSMS.framework

注:首选需要集成友盟基础组件,集成文档:https://developer.umeng.com/docs/119267/cate/119475

运行demo工程

解压后包含UMSMSDemo工程,您需要将bundleID,appkey,秘钥修改为您自己的。

开发环境搭建

1.添加主库

Targets->General->Linked Frameworks and Librarie中添加主库UMSMS.framework;

umsms

2.SDK方法说明

获取sdk版本号(getVersion)

  1. /**
  2. * 获取当前SDK版本号
  3. * @return 字符串,sdk版本号
  4. */
  5. + (NSString *_Nonnull)getVersion;

初始化SDK(setSMSSDKInfo)

  1. /**
  2. * 初始化SDK调用参数,app生命周期内调用一次
  3. * @param info app对应的秘钥
  4. * @param complete 结果异步回调
  5. */
  6. + (void)setSMSSDKInfo:(NSString * _Nonnull)info complete:(void(^_Nullable)(NSDictionary * _Nonnull resultDic))complete;

调用示例:

  1. - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  2. [UMConfigure initWithAppkey:@"appkey" channel:@"App Store"];
  3. [UMSMS setSMSSDKInfo:@"秘钥" complete:^(NSDictionary * _Nonnull resultDic) {
  4. }];
  5. // Override point for customization after application launch.
  6. return YES;
  7. }

获取验证码(getVerificationCodeWithPhoneNumber)

  1. /**
  2. * 获取验证码
  3. * @param number 手机号
  4. * @param templateID 模板ID
  5. * @param complete 结果异步回调
  6. */
  7. + (void)getVerificationCodeWithPhoneNumber:(NSString * _Nonnull)number templateID:(NSString * _Nullable)templateID complete:(void(^_Nullable)(NSDictionary * _Nonnull resultDic))complete;

调用示例:

  1. [UMSMS getVerificationCodeWithPhoneNumber:self.phoneNumber.text templateID:@"2" complete:^(NSDictionary * _Nonnull resultDic) {
  2. if ([resultDic[@"success"] boolValue]==true) {
  3. NSLog(@"获取成功");
  4. }

返回值success为true即为发送成功,具体可参看demo工程

提交验证码(getLoginNumberWithTimeout)

  1. /**
  2. * 提交验证码
  3. * @param number 手机号
  4. * @param vCode 验证码
  5. * @param complete 结果异步回调
  6. */
  7. + (void)commitWithPhoneNumber:(NSString * _Nonnull)number vCode:(NSString * _Nonnull)vCode complete:(void(^_Nullable)(NSDictionary * _Nonnull resultDic))complete;

调用示例:

  1. [UMSMS commitWithPhoneNumber:self.phoneNumber.text vCode:self.vCode.text complete:^(NSDictionary * _Nonnull resultDic) {
  2. if (![resultDic[@"data"] isKindOfClass:[NSNull class]] && [resultDic[@"data"][@"verifyStatus"] boolValue]==true) {
  3. [ProgressHUD showSuccess:@"验证成功"];
  4. }else{
  5. [ProgressHUD showError:@"验证失败"];
  6. }
  7. }];

返回值success为true 且 data中的verifyStatus为true 即为验证成功,具体可参看demo工程

返回码

返回码 说明
-10001 手机号码不应为空
-10002 短信模版id不应为空
-10003 验证码不应为空
-10004 请先集成UMCommon.framework,并初始化
-10005 请先调用setSMSSDKInfo接口设置秘钥
-10006 Bundle Identifier不能为空
-10007 初始化失败
-10008 请检查网络
-10009 手机号格式错误
-3201 手机号码不应为空
-3202 短信模版id不应为空
-3203 vcode不应为空
-3204 token不应为空
-3301 参数填写错误,请检查appkey和模板id是否填写正确
-3302 签名或模板校验错误,请检查签名、模板状态是否为审核通过
-2201 系统异常
-2202 请求超时
-2258 触发设备访问额度限制,请不要频繁请求
-2259 触发设备访问间隔限制,请不要频繁请求