码迷,mamicode.com
首页 > 移动开发 > 详细

iOS开发——App集成短信验证码

时间:2015-11-25 19:32:55      阅读:348      评论:0      收藏:0      [点我收藏+]

标签:

       无论是在网页上还是在客户端,每当我们进行注册的时候,往往会进行短信或者邮箱验证,这是一种不错的安全机制。对于用户体验来说,如果是在PC的网页上,用邮箱或者短信验证都比较方便;如果是在手机上,那么使用短信验证就比较方便。这篇博客我们将会在iOS应用中实现短信验证码的功能。实例demo我已经集成到  https://github.com/chenyufeng1991/iOS-Oncenote

       这里我将会使用mob 的短信验证码 SDK来开发。官网地址为: http://www.mob.com/#/index  。mob的社会化分享和短信验证码SDK做的不错,大家可以尝试去开发。在我们进行调试过程中,需要注意的是:我们只能往同一个号码发送5条验证短信(12小时内)。超过这个额度就不能收到验证短信了。这个是有电信运营商确定的,也是为了防止垃圾短信的一种安全方式。试想如果你不断往一个号码发送验证码,是不是就会成为垃圾短信呢?所以就会有这个数量限制。也就因为这个限制,让我们调试程序增加了困难,也就意味着基本上一天之内我们只能运行5次程序。。。。每次调试程序还要斟酌一番,要不要发送呢?也就因为这个原因,这个简单的功能我测试了2天。。。谁让我只有一个号码呢?

       具体实现步骤如下:

(1)登录mob移动开发者服务平台,注册登录,然后下载短信验证码SDK,SMS for iOS,然后直接拖入到项目中即可。里面也有示例demo,做的挺不错的,支持全球发送。

(2)进入后台,创建一个应用即可。获得App Key和App Secret即可,在项目中会用到。这样我们就有服务端了。

技术分享


(3)发送验证码。只要向服务器发送国家码+手机号码 ,就可以了。一般在5秒之内就可以收到验证码。中国的国家码就是86.如果你的App也需要在国外发布,就需要进行相应的配置。在自带的demo中就进行了国家的选择。

      
      [SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodSMS phoneNumber:@"18888888888"
                                     zone:@"86"
                         customIdentifier:nil
                                   result:^(NSError *error){
                                     if (!error){
                                       //发送验证码成功的回调;
                                     }
                                     else{
                                       //发送验证码失败的回调;如果你输入错误的手机号码或者任意数字,就会回调;
                                     }
                                   }];


(4)验证  验证码是否正确。只要向服务器发送手机号和刚才接收到的验证码,服务器端就会进行匹配验证,然后进行相应的回调。

注意点:1).一个验证码只能进行一次验证,一旦第一次验证失败后,就算第二次输入正确的验证码,也不会验证成功。

2).接收到验证码后,只在60s内有效,超过60s,就算验证码正确,也会验证失败。

实现代码如下:

[SMSSDK commitVerificationCode:1234(验证码) phoneNumber:18888888888 zone:@"86" result:^(NSError *error) {
    if (!error) {
      //验证成功后的回调;
    }//if();
    else{
      //验证失败后的回调;
    }
  }];

     总结:验证码可以用在注册或者找回密码这两个部分,目的就是验证你的身份。如何扩展这个验证码功能,就看你的idea了。


iOS开发——App集成短信验证码

标签:

原文地址:http://blog.csdn.net/chenyufeng1991/article/details/50039321

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!