咱们平时遇到短信验证的地方特别多是吧,那今天给大家讲讲短信验证,其实非常简单,跟着一步步来吧.
注册ShareSDK,下载SDK
先来到ShareSDK的官网,先注册然后登陆,找到SDK下载里面的SMS For iOS,如图
进去之后点击SDK下载
注册你的APP
在这个界面右上角有个你的头像,点击它,出来3个选项,点击进入后台,如图
进入之后选择SecurityCodesSDK,如图
进去之后你需要创建应用,点击上方的创建应用
给你的应用起个名字,选择iOS,然后点击确定
好了,现在你的后台是这样的
多了一个APP Key 和 App Secret,这两个待会儿需要在代码里用到,等会儿复制粘贴进去就行了.
在XCode里创建项目
在写代码之前还需要一些准备工作.
导入这5个依赖文件(官方文档是.dylib,那是老版的)
然后把你下载的SDK打开,把SMS_SDK引入你的工程.(第一个就是)
好了,准备工作完成了
代码部分
AppDelegate.m
#import "AppDelegate.h"
#import <SMS_SDK/SMSSDK.h>
@interface AppDelegate ()
@end
@implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
//注册需要短信验证的应用
[SMSSDK registerApp:@"cf6eb830bec0" withSecret:@"8d9165c8d4d646845f91076bdb997d53"];
return YES;
}
这里需要#import <SMS_SDK/SMSSDK.h>而不是官方文档的#import <SMS_SDK/SMS_SDK.h>,那两个参数就是你们后台的那两个参数,复制粘贴进来就行.(Secret需要点击显示才能复制)
ViewController.m
#import "ViewController.h"
#import <SMS_SDK/SMSSDK.h>
@interface ViewController ()
@property(nonatomic, strong)UITextField *textField;
@property(nonatomic, strong)UITextField *receivedField;
@end
@implementation ViewController
- (void)viewDidLoad {
[super viewDidLoad];
_textField = [[UITextField alloc]initWithFrame:CGRectMake(100, 50, 175, 50)];
_textField.placeholder = @"请输入手机号";
[self.view addSubview:_textField];
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];
button.frame = CGRectMake(100, 150, 175, 50);
button.layer.borderWidth = 2.0;
[button setTitle:@"发送验证码" forState:UIControlStateNormal];
[button addTarget:self action:@selector(sendAction) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button];
_receivedField = [[UITextField alloc]initWithFrame:CGRectMake(100, 250, 175, 50)];
_receivedField.placeholder = @"请输入收到的验证码";
[self.view addSubview:_receivedField];
UIButton *button2 = [UIButton buttonWithType:UIButtonTypeSystem];
button2.frame = CGRectMake(100, 350, 175, 50);
button2.layer.borderWidth = 2.0;
[button2 setTitle:@"验证" forState:UIControlStateNormal];
[button2 addTarget:self action:@selector(confirmAction) forControlEvents:UIControlEventTouchUpInside];
[self.view addSubview:button2];
}
#pragma mark 发送验证码
-(void)sendAction
{
[SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodSMS phoneNumber:_textField.text zone:@"86" customIdentifier:@"" result:^(NSError *error) {
if (!error) {
NSLog(@"获取验证码成功");
}
else
{
NSLog(@"获取验证码失败");
}
}];
}
#pragma mark 验证用户输入的验证码与发送到用户手机的验证码是否匹配
-(void)confirmAction
{
[SMSSDK commitVerificationCode:_receivedField.text phoneNumber:_textField.text zone:@"86" result:^(NSError *error) {
if (!error) {
NSLog(@"验证成功");
}
else
{
NSLog(@"验证失败");
}
}];
}
运行之后出来的界面是这样的
其实短信验证很简单是吧,大家可以用自己的手机试试,今天就到这里.祝大家生活开心☺️