前四步是SMS的官方开发文档
第一步 获取短信SDK
点击下载最新版SDK,解压后得到以下文件结构:
1、SMS_SDK:短信验证码SDK,包括静态库和本地化文件。使用时直接将这个文件夹拖入工程。
2、SMS_SDKDemo:示例Demo 。
第二步 导入SDK
第三步 添加依赖库文件
必要:
libicucore.dylib
libz.dylib
MessageUI.framework
可选:
AddressBook.framework (通讯录功能需要)
AddressBookUI.framework(通讯录功能需要)
第四步 添加初始化代码
1、在appDelegate 添加
2 、在
添加
appKey 和 appSecret的获取:
(1)到Mob官网注册成为Mob开发者;
(2)到应用管理后台新建应用。
完成上述步骤后
1.在你输入手机号码的界面写一个方法来获取短信验证码
[SMS_SDKgetVerificationCodeBySMSWithPhone:self.phoneNumberzone:@"86"result:^(SMS_SDKError *error) {
if (!error)
{
CaptchaViewController *VC=[[CaptchaViewControlleralloc]init];
VC.phoneNumber=self.phoneNumber;
[self.navigationControllerpushViewController:VCanimated:NO];
}
}];
-(void)nextPage
{ //_captchaStr为输入的验证码
_captchaStr=[NSStringstringWithFormat:@"%@",self.captchaView.textField.text];
NSDictionary *dic = [HttpTool postWithPath:@"https://api.sms.mob.com/sms/verify" params:@{@"appkey":kSMSAppKey,
@"phone":self.phoneNumber,
@"zone":@"86",
@"code":_captchaStr
}];
if ([dic[@"status"]isEqual:@200])
{
RegistViewController *VC=[RegistViewControllernew];
VC.phoneNumber=self.phoneNumber;
[self.navigationControllerpushViewController:VCanimated:NO];
}
else
{
UIAlertView *alert = [[UIAlertViewalloc]initWithTitle:@"提示"message:@"验证码错误"delegate:selfcancelButtonTitle:nilotherButtonTitles:@"确认",nil];
[alert show];
self.captchaView.textField.text=nil;
}
}
#import "HttpTool.h"
@implementation HttpTool
+ (NSDictionary *)getWithPath:(NSString *)path params:(NSDictionary *)params
{
NSDictionary *dataDic = [[NSDictionaryalloc]init];
NSMutableString *paramsString = [NSMutableStringstring];
NSArray *allKeys = [params allKeys];
for (NSString *keyin allKeys)
{
[paramsString appendFormat:@"%@=%@&",key,[paramsobjectForKey:key]];
}
NSString *pathString = [path stringByAppendingString:[NSString stringWithFormat:@"?%@",paramsString]];
NSURL *url = [NSURLURLWithString:pathString];
NSURLRequest *request = [[NSURLRequestalloc]initWithURL:urlcachePolicy:NSURLRequestReloadIgnoringCacheDatatimeoutInterval:10];
NSData *data = [NSURLConnectionsendSynchronousRequest:requestreturningResponse:nilerror:nil];
if (data != nil)
{
dataDic = [NSJSONSerializationJSONObjectWithData:dataoptions:kNilOptionserror:nil];
}
return dataDic;
}
+ (NSDictionary *)postWithPath:(NSString *)path params:(NSDictionary *)params
{
NSDictionary *dataDic = [[NSDictionaryalloc]init];
NSURL *url = [NSURLURLWithString:path];
NSMutableURLRequest *request = [[NSMutableURLRequestalloc]initWithURL:urlcachePolicy:NSURLRequestUseProtocolCachePolicytimeoutInterval:10];
[request setHTTPMethod:@"post"];
NSMutableString *paramsString = [NSMutableStringstring];
NSArray *allKeys = [params allKeys];
for (NSString *keyin allKeys)
{
[paramsString appendFormat:@"%@=%@&",key,[paramsobjectForKey:key]];
}
NSData *paramsData = [paramsStringdataUsingEncoding:NSUTF8StringEncoding];
[request setHTTPBody:paramsData];
NSData *data = [NSURLConnectionsendSynchronousRequest:requestreturningResponse:nilerror:nil];
if (data != nil)
{
dataDic = [NSJSONSerializationJSONObjectWithData:dataoptions:kNilOptionserror:nil];
}
return dataDic;
}
@end