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条
时间: 2024-08-08 10:02:09

iOS 短信认证的相关文章

短信认证方案,用手机短信进行上网认证如何实现?

WFilter NGF的"Web认证"模块,提供了一系列的上网认证解决方案.包括如下认证方式: 本地用户名密码认证 AD域用户名密码认证 企业邮箱用户名密码认证 Radius用户名密码认证 微信WiFi认证 Facebook Wifi认证 除此,WFilter NGF还有一个"其他"的选项,利用这个选项,你可以扩展更多的用户认证方式,比如"短信认证",使用者必须输入自己的手机号码,获取验证短信后输入才可以上网.如图: 不过,要实现短信验证的功能,

2018 07 短信认证网关的具体实现

本文将介绍如何用WFilter NGF来实现短信认证网关,以及短信平台的具体实现步骤. 1. 首先要搭建短信Web服务 WFilter NGF的短信发送通过调用Web API来实现,支持Web API接口的短信平台很多(一些短信猫也可以支持Web API).下文中,我们以阿里云的短信服务为例.首先需要创建AccessKey,如下图: 选择或者创建短信模板,如图: 下载阿里云的sdk,以php sdk为例,下载后需要把sdk中的AccessKey都改成第一步中创建的Key值.如图: 访问smsde

ios短信和电话--参考

调用打电话功能 [[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]]; 调用发短信功能 [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10000"]]; 上面的发短信的功能是调用系统的界面,下面是实现一种点击按键就直接发送短信,相当于后台发送,能不能上软件商店,还不能

ios短信功能

先介绍一种最简单的方法: 调用打电话功能 [[UIApplicationsharedApplication] openURL:[NSURL URLWithString:@"tel://10086"]]; 调用发短信功能 [[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"sms://10000"]]; 上面的发短信的功能是调用系统的界面,下面是实现一种点击按键就直接发送短信,相当于后台发送

iOS 短信分享 邮件分享

本地调用短信分享. 1 #import "shareViewController.h" 2 3 @interface shareViewController (){ 4 UIAlertView *mfAlertview;//定义一个弹出框 5 UITextView* txYaoqingma; 6 } 7 8 @end 9 10 @implementation shareViewController 11 12 - (void)viewDidLoad { 13 [super viewDi

短信认证

申请条件:必须是用了Mob短信验证SDK的APP才有资格申请.即需在我们短信后台提交并通过审核了的APP. 综合技术支持Ary 2015/3/24 星期二 15:46:15 短信自定义签名,开发者需要提供的资料: 1.开发者在Mob注册申请到的APPkey 2.<公司营业执照>扫描件 3.<保证书>(签名盖章后)的扫描件 4.<信息源入网信息安全保障责任书>(签名盖章后的)扫描件. 注意:<保证书>只需修改红色字体部分并盖章.<信息源入网信息安全保障责

阿里 短信认证

package com.yetech; import java.util.Random; import com.aliyuncs.DefaultAcsClient; import com.aliyuncs.IAcsClient; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRequest; import com.aliyuncs.dysmsapi.model.v20170525.SendSmsResponse; import com.a

iOS 短信验证码倒计时按钮的实现

验证码倒计时按钮的应用是非常普遍的,本文介绍了IOS实现验证码倒计时功能,点击获取验证码,进入时间倒计时,感兴趣的小伙伴们可以参考一下: 实现思路: 创建按钮,添加点击方法: 用NSTimer定时器,每秒执行一次,定时改变Button的title,改变Button的样式,设置Button不可点击: 若倒计时结束,定时器关闭,并改变Button的样式,可以点击: 代码如下: 在按钮的点击事件里调用该方法      -(void)openCountdown{ __block NSInteger ti

手机短信认证

首先需要去平台注册账号以及秘钥 这里以中国网建为例 官网:http://sms.webchinese.com.cn 代码如下: package com.yetech; import org.apache.commons.httpclient.Header; import org.apache.commons.httpclient.HttpClient; import org.apache.commons.httpclient.NameValuePair; import org.apache.co