短信验证

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

根据短信验证文档来集成

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条

iOS之短信认证的更多相关文章

  1. 全新升级的WiFi无线上网短信认证系统,适用于咖啡厅、足浴等公共场所,提高门门店营业收入

    WiFi无线上网短信认证系统经历从1.0到1.88的升级,都是用户在使用过程中,提出宝贵的意见,一直修复至今,有着非常稳定的版本. 这个软件有什么作用?WiFi为什么要认证呢? 其实这个只是获取用户联 ...

  2. [权限管理系统(四)]-spring boot +spring security短信认证+redis整合

    [权限管理系统]spring boot +spring security短信认证+redis整合   现在主流的登录方式主要有 3 种:账号密码登录.短信验证码登录和第三方授权登录,前面一节Sprin ...

  3. iOS开发——短信验证码

    作为iOS开发者,大家都应该知道ShareSDK这个比较出名的第三方分享(带统计功能)开发工具包. 他的官网今年年初发布了短信验证码的SDK.本文介绍它的短信验证码SDK.(部分过程参考官网如何集成的 ...

  4. iOS使用技能 - 短信,语言验证码的获取与验证小结

    最近有学习一个小技能,这里小结一下,分享给大家,互相交流. 首先是大体步骤: 在mob官网注册,然后添加短信验证的应用 使用cocoapods导入框架 Podfile文件: platform :ios ...

  5. luffyapi项目 --短信认证的基本操作

    一.开通腾讯云短信 SDK 文档 :https://cloud.tencent.com/document/product/382/11672 1.官网注册实名账号:https://cloud.tenc ...

  6. iOS发送短信

    iPhone开发,发送短信的方法: iPhone开发中,发送短信方法有二: 1.URL Scheme,这样不可以设置短信内容 1 2 3 [[UIApplication sharedApplicati ...

  7. iOS开发短信验证码封装 方便好用

    ---恢复内容开始--- 1.RootViewControler//  Copyright © 2016年 Chason. All rights reserved.// #import "V ...

  8. iOS 调用短信、电话、邮件、浏览器等

    1.调用 自带mail[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"mailto://admin@hzl ...

  9. ios发送短信验证码计时器的swift实现

    转载自:http://www.jianshu.com/p/024dd2d6e6e6# Update: Xcode 8.2.1 Swift 3 先介绍一下 属性观测器(Property Observer ...

随机推荐

  1. SQL SERVER 自定义函数 split

    Create function [dbo].[split] ( ), ) ) )) as begin declare @i int set @SourceSql=rtrim(ltrim(@Source ...

  2. Xcode的代码片段快捷方式-Code Snippet Library(代码片段库)

    最近换了新电脑,装上Xcode敲代码发现很多以前攒的Code Snippet忘记备份了,总结了一下Code Snippet的设置方法,且行且添加,慢慢积累吧. 如下图:   Title - Code ...

  3. C++程序中不同变量、函数在内存中内存中的分布情况

    一.一个C++编译的程序占用的内存分为以下几个部分 1.栈区:由编译器自动分配 存放函数的参数值,局部变量的值等,操作方式类似于数据结构中的栈. 2.堆区:一般由程序员分配释放,若程序员不释放,程序结 ...

  4. 快速制作规则及获取规则提取器API

    1. 引言 前面文章的测试案例都用到了集搜客Gooseeker提供的规则提取器,在网页抓取工作中,调试正则表达式或者XPath都是特别繁琐的,耗时耗力,工作枯燥,如果有一个工具可以快速生成规则,而且可 ...

  5. tuple只有一个元素的时候,必须要加逗号

    In [1]: a = (1) In [2]: a Out[2]: 1 In [3]: a = (1,) In [4]: a Out[4]: (1,) 这是因为括号()既可以表示tuple,又可以表示 ...

  6. PermissionError: [WinError 32] 另一个程序正在使用此文件,进程无法访问。: 'C:\\Users\\video\\AppData\\Local\\Temp\\tmpfipzk8ma'--问题解决

    学习python+selenium总是遇到各种问题 代码如下: from selenium import webdriverbrowser = webdriver.PhantomJS() #浏览器初始 ...

  7. Python学习(六) Python数据类型:字典(重要)

    字典dict: 字典其实就相当于java里面的Map,用来存储键值对的.其中存储的数据时无序的. 假如有这样的数据: t1=['name','age','sex'] t2=['tom',30,'mal ...

  8. php word转HTML

    因为安装的的xampp不知道如何查看我的Apache版本是多少,就先把com.allow_dcom=true打开了,但是仍旧报错说找不到com类,然后就把下面的extension扩展添加到php.in ...

  9. git diff 使用

    1. 本地工作目录与远程仓库对比(所有改动过的文件) git diff HEAD  (HEAD指向最新一次的提交,即最新版本) 2. 之对比给定的文件 git diff -- filename //是 ...

  10. Strurts(四)——从Struts原型模拟看大道至简(含实例下载)

    首先,需要再次声明的是:struts是web层的框架.在介绍struts的第一篇文章就已经有了论述,如果不使用struts框架同样可以进行开发,但是需要在Servlet里面写大量的“if……else… ...