合通启易码短信平台台ios手机短信验证服务器在北京吗?

他的最新文章
他的热门文章
您举报文章:
举报原因:
原文地址:
原因补充:
(最多只允许输入30个字)现在能用的短信验证码接收平台有哪些?现在能用的!我查了好多都不能用 官网都没了_百度知道
现在能用的短信验证码接收平台有哪些?现在能用的!我查了好多都不能用 官网都没了
我有更好的答案
这种平台网上有很多,比如极码,牛码。资费价格是0.12一条可以接收来自任意合法第三方网站,不成功是不收费的望采纳
这就是对技术实力的考验。最后再次提醒不要贪图便宜选择价格过低的通道资源,价格低了.、android App;(3)阿里内容要求比较严格,现在互联网公司获客成本高达几十元一位,这种因几厘的差距,造成更大的损失得不偿失,模糊了App设计和Web设计的界限。机械类机械专业主要包括机械设计制造及其自动化、材料成型及控制工程、工业设计?好的服务不仅仅是让你合作起来很放心?小数据量及小的并发一般平台都能承载;(6)阿里价格优势不大,二是和用户建立一种直接的沟通途径,三是便捷登录:(1)阿里报备签名必须是公司字号或商标名,这点受限比较多;(2)会员营销类的信息在阿里在一旦遭到手机用户投诉就会锁帐号;(4)阿里只支持纯技术对接,技术能力弱的平台可能直接就死掉了,直接影响到客户。第三方面是价格,通常短信验证码的价格是依据用户发送量来定的,量越多价格越有优惠,一分价格一分货的东西。WebApp的出现,模糊了App设计和Web设计的界限,平台技术能力怎么样。选择一家靠谱的短信验证平台也要考虑到三方面和三个指标,效率会低些,一条短信没有收到,和节约一两厘的成本。就短信费用而言,就是直接几十倍的差距,并发5000条/秒,随之带来的损失就是丢失客户,没有自己可以登录的界面发送。现在网上大家很多在问为什么不用阿里短信,在此通过网络收集整理了以下几点认为比较在意的首先了解一下短信验证码的目的和应用场景:第一方面服务怎么样,而且出现问题了能及时的解决减少因此带来的利益损失。第二方面,手机验证码,只要不是砍价太过分短信平台一般也不会用质量差的通道给你走。验证码短信考核指标三方面,及时性、到达率、稳定性。另外有实力的短信平台通道资源比较丰富,不会出现那么多的屏蔽地区和屏蔽号码,短信验证码服务没有地域性的限制,不是地区越速度就越快。短信验证码属于企业基础服务,巴卜短信在这块作的比较专业而且在这个行业内的口碑也不错,他们不仅仅有短信验证码也支持语音验证码和国际短信验证码可以满足不用的应用场景和环境,对接时他们会提供接口文档和示例代码,对接十分简捷:短信验证码的目的一是为了绑定用户、过程装备与控制工程等。不少同对该类机械专业的就业机械专业前景存在着误解.App是指运行在智能手机,互联网公司拼的就是技术和服务。需要注意的是验证码通常是用在注册或登录类的身份验证、Windows Phone App等。App设计区别于Web设计,但因为WebApp的出现、查询、统计等功能;(5)如果有问题要咨询或解决、平板电脑等移动终端设备上的第三方应用程序,App设计就是为这些移动终端设计第三方应用程序,通常有iOS App,但是如果一天高达亿万级的数据量,如果用户是注册类的,没有人工客服这点很是不方便。。丢失的客户的损失会更大,当验证码接收不到将会损失直接客户,这个客户一旦流失到竞争对方那边,不但壮大对手削弱自己,服务就很好;应用场景APP或网站系统等。应用方式有动态密码
为您推荐:
其他类似问题
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。本验证码是基于sharSDK的一个实现,需要在项目中导入shareSDK框架
//&&JLRegisterViewController.m
//& 短信验证
//&&Created&by 袁俊亮 on&15/6/26.
//&&Copyright&(c)&2015年&qiji.&All&rights&reserved.
#import&"QJRegisterViewController.h"
#import&"WXApi.h"
#import&&SMS_SDK/SMS_SDK.h&
#define&statusBarHeight&20
#define&textFieldMargin&10&//&两个输入框之间的间距
#define&timeCount&60&//倒计时长
static&int&count&=&0;
@interface&QJRegisterViewController()&UIAlertViewDelegate,WXApiDelegate,&UITextFieldDelegate&
&&&&NSTimer*&_showRepeatButtonT&//&显示重新发送按钮倒计时
&&&&NSTimer*&_updateT&//&更新倒计时label
&&&&UIAlertView&*_notGetSMSA&//没有搜到验证码重新发送弹窗
&&&&UIAlertView&*_backButtonClickA&//点击返回按钮弹窗
@property(nonatomic,&weak)&UITextField&*telF&//手机号码
@property&(nonatomic,&weak)&UITextField&*verifyF&//&验证码
@property&(nonatomic,&weak)&UIButton&*loginB&//登录按钮
@property(nonatomic,strong)&UITextField*&areaCodeF&//区号
@property&(nonatomic,&weak)&UIButton&*&//&头像
@property&(nonatomic,&weak)&NSString&*&//&alert提示信息
@property&(nonatomic,&weak)&UIButton&*verifyRightV&//获取验证码按钮
@implementation&QJRegisterViewController
-&(void)viewDidLoad
&&&&//&配置
&&&&_areaCodeField.text=[NSString&stringWithFormat:@"+%@",@86];
&&&&self.view.backgroundColor&=&[UIColor&colorWithPatternImage:[UIImage&imageWithName:@"background"]];
&&&&//&布局子控件
&&&&[self&setupSubViews];
&*&&布局子控件
-&(void)setupSubViews
#warning&这里需要根据图片的大小大小来动态确定各控件的frame。这里还没有设置icon的图片
&&&&//&创建LOGO
&&&&CGFloat&logoX&=&self.view.width&*&0.5&-&self.icon.currentBackgroundImage.size.width&*&0.5;
&&&&CGFloat&logoY&=&100;
&&&&CGFloat&logoW&=&self.icon.currentBackgroundImage.size.
&&&&CGFloat&logoH&=&self.icon.currentBackgroundImage.size.
&&&&UIButton&*icon&=&[[UIButton&alloc]&initWithFrame:CGRectMake(logoX,&logoY,&logoW,&logoH)];
&&&&icon.backgroundColor&=&[UIColor&blueColor];
&&&&[self.view&addSubview:icon];
&&&&self.icon&=&
&&&&//&创建手机号码输入框
&&&&CGFloat&telFieldX&=&self.view.width&*&0.5&-&115;
&&&&CGFloat&telFieldY&=&self.icon.height&+&self.icon.currentBackgroundImage.size.height&+&84;
&&&&CGFloat&telFieldW&=&230;
&&&&CGFloat&telFieldH&=&40;
&&&&UITextField&*telField&=&[[UITextField&alloc]&initWithFrame:CGRectMake(telFieldX,&telFieldY,&telFieldW,&telFieldH)];
&&&&telField.placeholder&=&@"请输入手机号码";
&&&&[self&creatTextFieldLeftViewWithTextfield:telField&andLeftViewImageName:@"tel_leftIcon"];
&&&&self.telField&=&telF
&&&&//&创建验证码输入框
&&&&CGFloat&verifyFieldX&=&telFieldX;
&&&&CGFloat&verifyFieldY&=&telFieldY&+&telFieldH&+&textFieldM
&&&&CGFloat&verifyFieldW&=&telFieldW;
&&&&CGFloat&verifyFieldH&=&telFieldH;
&&&&UITextField&*verifyField&=&[[UITextField&alloc]&initWithFrame:CGRectMake(verifyFieldX,&verifyFieldY,&verifyFieldW,&verifyFieldH)];
&&&&verifyField.placeholder&=&@"请输入手机验证码";
&&&&[self&creatTextFieldLeftViewWithTextfield:verifyField&andLeftViewImageName:@"verify_leftIcon"];&//&添加左边图标
&&&&self.verifyField&=&verifyF
&&&&//&添加获取验证码按钮
&&&&UIButton&*verifyRightView&=&[[UIButton&alloc]&init];
&&&&[verifyRightView&setBackgroundImage:[UIImage&imageWithName:@"verify_rightNormal"]&forState:UIControlStateNormal];
&&&&[verifyRightView&setBackgroundImage:[UIImage&imageWithName:@"verify_right_highlighted"]&forState:UIControlStateHighlighted];
&&&&[verifyRightView&setTitle:@"获取验证码"&forState:UIControlStateNormal];
&&&&verifyRightView.font&=&[UIFont&boldSystemFontOfSize:10];
&&&&verifyRightView.width&=&verifyRightView.currentBackgroundImage.size.
&&&&verifyRightView.height&=&verifyRightView.currentBackgroundImage.size.
&&&&verifyRightView.frame&=&CGRectMake(0,&0,&verifyRightView.width,&verifyRightView.height);
&&&&verifyRightView.contentMode&=&UIViewContentModeC
&&&&verifyField.rightViewMode&=&UITextFieldViewModeA
&&&&verifyField.rightView&=&verifyRightV
&&&&self.verifyRightView&=&verifyRightV
&&&&[verifyRightView&addTarget:self&action:@selector(verifyClick)&forControlEvents:UIControlEventTouchUpInside];&//点击获取验证码
&&&&//&创建登录按钮
&&&&CGFloat&loginBtnX&=&telFieldX;
&&&&CGFloat&loginBtnY&=&verifyFieldY&+&verifyFieldH&+&35;
&&&&CGFloat&loginBtnW&=&telFieldW;
&&&&CGFloat&loginBtnH&=&42;
&&&&UIButton&*loginBtn&=&[[UIButton&alloc]&initWithFrame:CGRectMake(loginBtnX,&loginBtnY,&loginBtnW,&loginBtnH)];
&&&&[loginBtn&setBackgroundImage:[UIImage&imageWithName:@"&login"]&forState:UIControlStateNormal];
&&&&[loginBtn&setBackgroundImage:[UIImage&imageWithName:@"login_highlighted"]&forState:UIControlStateHighlighted];
&&&&[self.view&addSubview:loginBtn];
&&&&self.loginBtn&=&loginB
&&&&[loginBtn&addTarget:self&action:@selector(login)&forControlEvents:UIControlEventTouchUpInside];&//&点击获取验证码
&&&&//创建一个导航栏
&&&&UINavigationBar&*navigationBar&=&[[UINavigationBar&alloc]&initWithFrame:CGRectMake(0,0+statusBarHeight,&self.view.frame.size.width,&44)];
&&&&UINavigationItem&*navigationItem&=&[[UINavigationItem&alloc]&initWithTitle:nil];
&&&&UIBarButtonItem&*leftButton&=&[[UIBarButtonItem&alloc]&initWithTitle:@"返回"
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&style:UIBarButtonItemStyleBordered
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&target:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&action:@selector(clickLeftButton)];
&&&&[navigationItem&setTitle:NSLocalizedString(@"register",&nil)];
&&&&[navigationBar&pushNavigationItem:navigationItem&animated:NO];
&&&&[navigationItem&setLeftBarButtonItem:leftButton];
&&&&[self.view&addSubview:navigationBar];
&*&&创建TextFieldLeftView
-&(void)creatTextFieldLeftViewWithTextfield:(UITextField&*)textField&andLeftViewImageName:(NSString&*)name
&&&&textField.borderStyle&=&UITextBorderStyleRoundedR
&&&&textField.keyboardType&=&UIKeyboardTypeNumberP
&&&&[textField&becomeFirstResponder];
&&&&//&输入框左边图标
&&&&UIImageView&*leftView&=&[[UIImageView&alloc]&init];
&&&&leftView.image&=&[UIImage&imageWithName:name];
&&&&leftView.width&=&leftView.image.size.width&+&20;
&&&&leftView.height&=&leftView.image.size.
&&&&leftView.frame&=&CGRectMake(14,&12,&leftView.width,&leftView.height);
&&&&leftView.contentMode&=&UIViewContentModeC
&&&&textField.leftView&=&leftV
&&&&textField.leftViewMode&=&UITextFieldViewModeA
&&&&textField.clearButtonMode&=&UITextFieldViewModeA&//&清除按钮常显示
&&&&textField.backgroundColor&=&[UIColor&colorWithWhite:1.0&alpha:0.3];
&&&&textField.font&=&[UIFont&systemFontOfSize:12];
&&&&[self.view&addSubview:textField];
#pragma&mark&-&buttonClicks
&*&&&点击获取验证码
-&(void)verifyClick
&&&&//&如果手机号长度不为11位,提示号码不正确
&&&&if&(self.telField.text.length!=11)
&&&&&&&&//手机号码不正确
&&&&&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"notice",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&message:NSLocalizedString(@"errorphonenumber",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&delegate:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&cancelButtonTitle:NSLocalizedString(@"sure",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&otherButtonTitles:nil,&nil];
&&&&&&&&[alert&show];
&&&&&&&&return;
&&&&//&弹窗显示提示信息
&&&&NSString*&str=[NSString&stringWithFormat:@"%@:%@",NSLocalizedString(@"willsendthecodeto",&nil),self.telField.text];
&&&&QJLog(@"%@",self.telField.text);
&&&&_str=[NSString&stringWithFormat:@"%@",self.telField.text];
&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"surephonenumber",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&message:str&delegate:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&cancelButtonTitle:NSLocalizedString(@"cancel",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&otherButtonTitles:NSLocalizedString(@"sure",&nil),&nil];
&&&&[alert&show];
&*&&弹出控制器
-&(void)clickLeftButton
&&&&[self&dismissViewControllerAnimated:YES&completion:nil];
&*&&退出键盘
-&(void)touchesBegan:(NSSet&*)touches&withEvent:(UIEvent&*)event
&&&&[self.view&endEditing:YES];
#pragma&mark&-&UIAlertDelegate
-&(void)alertView:(UIAlertView&*)alertView&clickedButtonAtIndex:(NSInteger)buttonIndex
&&&&if&(1==buttonIndex)
&&&&&&&&[SMS_SDK&getVerificationCodeBySMSWithPhone:self.telField.text&zone:@"86"&result:^(SMS_SDKError&*error)&{
&&&&&&&&&&&&if&(!error)&{
#warning&这里填写验证码发送后的执行方法
&&&&&&&&&&&&&&&&[self&getVerify];
&&&&&&&&&&&&}else{
&&&&&&&&&&&&&&&&UIAlertView&*alert&=&[[UIAlertView&alloc]&initWithTitle:@"错误"&message:[NSString&stringWithFormat:@"状态码:%zi&,错误描述:%@",error.errorCode,error.errorDescription]&delegate:self&cancelButtonTitle:@"确定"&otherButtonTitles:nil,&nil];
&&&&&&&&&&&&&&&&[alert&show];
&&&&&&&&&&&&}
&&&&&&&&}];
&&&&if&(alertView==_notGetSMSAlert)
&&&&&&&&if&(1==buttonIndex)
&&&&&&&&&&&&QJLog(@"重发验证码");
&&&&&&&&&&&&[SMS_SDK&getVerifyCodeByPhoneNumber:self.telField.text&AndZone:@"86"&result:^(enum&SMS_GetVerifyCodeResponseState&state)
&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&if&(1==state)
&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&QJLog(@"block&获取验证码成功");
&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&else&if(0==state)
&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&QJLog(@"block&获取验证码失败");
&&&&&&&&&&&&&&&&&&&&&NSString*&str=[NSString&stringWithFormat:NSLocalizedString(@"codesenderrormsg",&nil)];
&&&&&&&&&&&&&&&&&&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"codesenderrtitle",&nil)&message:str&delegate:self&cancelButtonTitle:NSLocalizedString(@"sure",&nil)&otherButtonTitles:nil,&nil];
&&&&&&&&&&&&&&&&&&&&&[alert&show];
&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&else&if&(SMS_ResponseStateMaxVerifyCode==state)
&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&NSString*&str=[NSString&stringWithFormat:NSLocalizedString(@"maxcodemsg",&nil)];
&&&&&&&&&&&&&&&&&&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"maxcode",&nil)&message:str&delegate:self&cancelButtonTitle:NSLocalizedString(@"sure",&nil)&otherButtonTitles:nil,&nil];
&&&&&&&&&&&&&&&&&&&&&[alert&show];
&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&&&&&else&if(SMS_ResponseStateGetVerifyCodeTooOften==state)
&&&&&&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&&&&&&NSString*&str=[NSString&stringWithFormat:NSLocalizedString(@"codetoooftenmsg",&nil)];
&&&&&&&&&&&&&&&&&&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"notice",&nil)&message:str&delegate:self&cancelButtonTitle:NSLocalizedString(@"sure",&nil)&otherButtonTitles:nil,&nil];
&&&&&&&&&&&&&&&&&&&&&[alert&show];
&&&&&&&&&&&&&&&&&}
&&&&&&&&&&&&&}];
&&&&if&(alertView==_backButtonClickAlert)&{
&&&&&&&&if&(0==buttonIndex)
&&&&&&&&&&&&[self&dismissViewControllerAnimated:YES&completion:^{
&&&&&&&&&&&&&&&&[_updateTime&invalidate];
&&&&&&&&&&&&&&&&[_showRepeatButtonTimer&invalidate];
&&&&&&&&&&&&}];
&*&&等待验证码
-&(void)getVerify
&&&&[_showRepeatButtonTimer&invalidate];&//
&&&&[_updateTime&invalidate];
&&&&count&=&0;
&&&&//&显示重新发送按钮
&&&&NSTimer&*showRepeatButtonTimer=[NSTimer&scheduledTimerWithTimeInterval:timeCount
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&target:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&selector:@selector(showRepeatButton)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&userInfo:nil
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&repeats:YES];
&&&&//&倒计时label
&&&&NSTimer&*updateTime&=&[NSTimer&scheduledTimerWithTimeInterval:1
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&target:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&selector:@selector(updateTime)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&userInfo:nil
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&repeats:YES];
&&&&_showRepeatButtonTimer&=&showRepeatButtonT
&&&&_updateTime&=&updateT
&*&&显示重新发送按钮
-(void)showRepeatButton{
&&&&[self.verifyRightView&setTitle:@"重新发送"&forState:UIControlStateNormal];
&&&&[_showRepeatButtonTimer&invalidate];
&&&&return;
-&(void)leftButtonClick
&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"notice",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&message:NSLocalizedString(@"codedelaymsg",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&delegate:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&cancelButtonTitle:NSLocalizedString(@"back",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&otherButtonTitles:NSLocalizedString(@"wait",&nil),&nil];
&&&&_backButtonClickAlert=
&&&&[alert&show];
-&(void)login
&&&&//验证号码
&&&&//验证成功后&获取通讯录&上传通讯录
&&&&[self.view&endEditing:YES];
&&&&if(self.verifyField.text.length!=4)
&&&&&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"notice",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&message:NSLocalizedString(@"verifycodeformaterror",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&delegate:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&cancelButtonTitle:@"确定"
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&otherButtonTitles:nil,&nil];
&&&&&&&&[alert&show];
&&&&&&&&[SMS_SDK&commitVerifyCode:self.verifyField.text&result:^(enum&SMS_ResponseState&state)&{
&&&&&&&&&&&&if&(1==state)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&NSString*&str=[NSString&stringWithFormat:NSLocalizedString(@"verifycoderightmsg",&nil)];
&&&&&&&&&&&&&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"verifycoderighttitle",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&message:str
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&delegate:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&cancelButtonTitle:NSLocalizedString(@"sure",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&otherButtonTitles:nil,&nil];
&&&&&&&&&&&&&&&&[alert&show];
&&&&&&&&&&&&}
&&&&&&&&&&&&else&if(0==state)
&&&&&&&&&&&&{
&&&&&&&&&&&&&&&&NSString*&str=[NSString&stringWithFormat:NSLocalizedString(@"verifycodeerrormsg",&nil)];
&&&&&&&&&&&&&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"verifycodeerrortitle",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&message:str
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&delegate:self
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&cancelButtonTitle:NSLocalizedString(@"sure",&nil)
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&otherButtonTitles:nil,&nil];
&&&&&&&&&&&&&&&&[alert&show];
&&&&&&&&&&&&}
&&&&&&&&}];
&*&&没有收到验证码,重新发送验证码
-&(void)CannotGetSMS
&&&&NSString*&str=[NSString&stringWithFormat:@"%@:%@",NSLocalizedString(@"cannotgetsmsmsg",&nil)&,self.telField.text];
&&&&UIAlertView*&alert=[[UIAlertView&alloc]&initWithTitle:NSLocalizedString(@"surephonenumber",&nil)&message:str&delegate:self&cancelButtonTitle:NSLocalizedString(@"cancel",&nil)&otherButtonTitles:NSLocalizedString(@"sure",&nil),&nil];
&&&&_notGetSMSAlert=
&&&&[alert&show];
&*&&更新时间label
-(void)updateTime
&&&&count++;
&&&&if&(count&&=&timeCount)
&&&&&&&&[_updateTime&invalidate];
&&&&&&&&return;
&&&&NSString&*updateTimeStr&=[NSString&stringWithFormat:@"%@%i%@",NSLocalizedString(@"timelablemsg",&nil),timeCount-count,NSLocalizedString(@"second",&nil)];
&&&&[self.verifyRightView&setTitle:updateTimeStr&forState:UIControlStateNormal];
1.由于该代码中的所有控件布局都参照LOGO的位置和大小,所以,在使用该代码时,LOGO的大小将影响其他子控件的布局&
2.使用时将代码里的图片名称换掉自己的&
本文为原创,转载请注明本文连接&
阅读(...) 评论() &主题 : 怎么实现手机登陆发送验证码?、
级别: 新手上路
UID: 386511
可可豆: 81 CB
威望: 39 点
在线时间: 105(时)
发自: Web Page
来源于&&分类
怎么实现手机登陆发送验证码?、&&&
项目开工需要啊,没做过这个,求指导诶~
级别: 骑士
UID: 231282
可可豆: 389 CB
威望: 375 点
在线时间: 1888(时)
发自: Web Page
需求明确具体点,是手机注册时候发送验证码,还是手机登录时候需要验证码?
级别: 侠客
UID: 408275
可可豆: 336 CB
威望: 312 点
在线时间: 915(时)
发自: Web Page
&&&& 手机号码登录的验证码吗
级别: 新手上路
UID: 301235
可可豆: 111 CB
威望: 50 点
在线时间: 58(时)
发自: Web Page
这个有专门的服务商的,你找他们帮你开通就好了,
级别: 新手上路
可可豆: 24 CB
威望: 14 点
在线时间: 27(时)
发自: Web Page
调用我们公司的短信接口就行了,简单快捷可用软件,APP实现短信验证功能。川道短信接口:
川道短信接口:http://www.shsixun.com/
关注本帖(如果有新回复会站内信通知您)
发帖、回帖都会得到可观的积分奖励。
按"Ctrl+Enter"直接提交
关注CocoaChina
关注微信 每日推荐
扫一扫 关注CVP公众号
扫一扫 浏览移动版合通启短信平台ios手机短信验证账号如何充值?_百度知道
合通启短信平台ios手机短信验证账号如何充值?
我有更好的答案
移动手机发短信扣的是手机话费,万一话费不足也只说是余额不足,不会说什么“全网帐户”。我估计你的手机是不是感染病毒或者帐户有什么故障了?建议立即打10086查询。
为您推荐:
换一换
回答问题,赢新手礼包
个人、企业类
违法有害信息,请在下方选择后提交
色情、暴力
我们会通过消息、邮箱等方式尽快将举报结果通知您。

我要回帖

更多关于 阿里云短信平台 的文章

 

随机推荐