iOS之短信认证

短信验证

现在很多的短信验证平台,我们比较常用的有移动开发者服务平台

根据短信验证文档来集成

1. 找到iOS短信验证的集成开发文档

2. 下载SDKDemo目录结构 

3. 运行Demo

4. 写自己的测试Demo按照文档一步步操作即可.

1. 创建项目

2. 导入SVProgressHUDSMS_SDK

3. 添加依赖库文件

  • 必要:
      libicucore.dylib
  •   libz.dylib
  •   MessageUI.framework
  •   javascriptcore.framework
  •   libstdc++.dylib
  • 可选:
      AddressBook.framework (通讯录功能需要)
  •   AddressBookUI.framework(通讯录功能需要)


    • 3. info.plist文件中添加,设置使用不安全网络
        NSAppTransportSecurity          类型Dictionary
    •     NSAllowsArbitraryLoads = YES  类型 BooL

    • 4. 添加初始化代码
    • 在appDelegate 添加
       #import <SMS_SDK/SMSSDK.h>


    •      - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    •     //  注册短信验证
    •         [SMSSDK registerApp:appKey withSecret:appSecret];
    •         return YES;
    •       }

    • appKey 和 appSecret的获取:
      1. 到Mob官网注册成为Mob开发者;
      2. 到应用管理后台新建应用。
    • 创建获取验证码的按钮,或者是在自己已有的界面的按钮事件里调用获取验证码的方法
          - (IBAction)verifyVoice {
    •       NSString *phoneNumber = self.phoneNumTextField.text;
    • //  获取语音验证码
    •     [SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodVoice phoneNumber:phoneNumber zone:@"86" customIdentifier:nil result:^(NSError *error) {
    •         //注意区号(zone)和手机号码(phoneNumber)前面都不要加“+”号,有的开发者喜欢这样写,@“+86”,这种是错误的写法
    •         if (error) {
    •             NSLog(@"%@",error);
    •             [SVProgressHUD showErrorWithStatus:@"请重新获取验证码"];
    •         }
    •     }];
    • }
    • 创建提交验证码的按钮,或者是在自己已有的界面的按钮事件里调用提交验证码的方法
      //  验证
    • [SMSSDK commitVerificationCode:self.verifyTextField.text phoneNumber:self.phoneNumTextField.text zone:@"86" result:^(NSError *error) {
    •     if (error) {
    •         NSLog(@"%@",error);
    •         [SVProgressHUD showErrorWithStatus:@"验证失败!"];
    •     }else{
    •         [SVProgressHUD showSuccessWithStatus:@"验证成功!"];
    •     }
    • }];
    • 注意: 现在运营商的限制:同一个号码12小时发送不能超过5条,24小时不超过10条
posted @ 2016-01-14 01:46  SingCnblogs  阅读(148)  评论(0编辑  收藏  举报