文档章节

聚合数据短息验证码iOS SDK 演示示例

王航-聚合数据
 王航-聚合数据
发布于 2014/10/10 09:31
字数 808
阅读 20
收藏 0
点赞 0
评论 0

第一步 获取短信SDK

在http://www.juhe.cn/docs/sdk/id/67下载最新版本的SDK,下载回来后解压,可以看到下面的文件结构:


其中SMSSDK.framework 为依赖库文件 SMSSDKDemo 为示例demo ,其中保存了短信SDK的演示项目代码。


第二步 导入聚合数据免费短信验证码SDK

短信SDK 使用如下方式完成集成。具体步骤如下: 将SMSSDK.framework 文件直接拖入项目中

 


第三步 添加SDK依赖库文件

 

第四步 添加代码

1 在appDelegate 添加 #import <SMSSDK/SMS_SDK.h>

2 在- (BOOL)application:(UIApplication *)applicationdidFinishLaunchingWithOptions:(NSDictionary *)launchOptions 添加//初始化短信SDK

demo并未提供短信SDK key 请用户到 http://www.juhe.cn 这里申请注意:是在申请数据 –>聚合SDK - > 免费短信验证码SDK中申请


 

 

[SMSSDKinitSMSSDK:@"短信验证码Key"];


第五步 添加UI事件响应 弹出注册界面和通讯录好友界面

1 弹出注册页面

-(IBAction)registerUser:(id)sender{

   RegViewController* reg=[[RegViewControlleralloc] init];    [self presentViewController:reganimated:YES completion:^{           }];   

}

2 弹出通讯录好友界面

-(IBAction)getAddressBookFriends:(id)sender{

      SectionsFriendsViewController* friends=[[SectionsFriendsViewControlleralloc]init];

    _friendsController=friends;

   

    [_friendsControllersetMyBlock:_friendsBlock];

   

    [SMSMBProgressHUDshowMessag:@"正在加载中..." toView:self.view];

   

    [SMSSDKgetAppContactFriends:falseSuccess:^(id responseObject) {

        NSNumber *resultCode =[responseObjectobjectForKey:@"error_code"];

        int resCode = [resultCodeintValue];

 

        if (resCode ==SMSResponseStateSuccess) {

            NSMutableArray *array = [[NSMutableArrayalloc]init];

            NSArray *result = [responseObjectobjectForKey:@"result"];

           

            for (NSDictionary *attributesin result) {

                SMSAddressBook *bookFriend = [[SMSAddressBookalloc]init];

                bookFriend.nickname = [attributesvalueForKeyPath:@"disPlayName"];

                bookFriend.phones = [attributesvalueForKeyPath:@"phoneNumber"];

               

                NSLog(@"%@:%@", bookFriend.nickname, bookFriend.phones);

                [array addObject:bookFriend];

            }

           

            [_friendsControllersetMyData:array];

            [self.navigationControllerpushViewController:friendsanimated:YES];

        } elseif (resCode ==SMSResponseStateFail) {

 

        }

    } Failure:^(NSError *error) {

        NSLog(@"网络出错!");

    }];

}

附录: UI介绍

1 注册界面RegViewController, 用户在注册页面输入手机号码之后点击下一步服务端 会发送短信验证码 界面会跳转到短信验证界面 该界面对应的控制器为VerifyViewController主要处理短信的验证功能

2 通讯录好友界面SectionsFriendsViewController,在事件响应中弹出该好友控制器即可 进入该界面后 会把通讯录的好友分为两类:

1 已加入的用户:可以点击添加按钮直接去添加已加入该app的通讯录好友

2 待邀请的用户:可以点击按钮发送短信 邀请好友加入该app

API介绍

/**

 * @brief短信SDK顶层类。

 */

@interface SMSSDK :NSObject <MFMessageComposeViewControllerDelegate>

/**

 * @brief注册应用,此方法在应用启动时调用一次并且只能在主线程调用。

 * @param key ,应用key,Juhe官网中注册的应用key

 */

+(void)initSMSSDK:(NSString*)key;

 

/**

 * @brief获取通讯录数据

 * @return返回的数组里面存储的数据类型是SMS_AddressBook

 */

+(NSMutableArray*)addressBook;

 

/**

 * @brief发送短信。

 * @param要发送短信的号码

 * @param要发送的信息

 * @param ViewController指针

 */

+(void)sendSMS:(NSString*)tel AndMessage:(NSString*)msg ViewController:(UIViewController* )vc;

 

/**

 * @brief向服务端请求获取通讯录好友信息。

 * @param调用参数默认填choose=1

 * @param请求成功结果回调block

 * @param请求失败结果回调block

 */

+(void)getAppContactFriends:(int)choose

                    Success:(void(^)(id responseObject))success

                    Failure:(void(^)(NSError *error))failure;

 

/**

 * @brief获取验证码。

 * @param电话号码

 * @param区号

 * @param请求成功结果回调block

 * @param请求失败结果回调block

 */

+(void)getVerifyCodeByPhoneNumber:(NSString*) phone

                          AndZone:(NSString*) zone

                          Success:(void(^)(id responseObject))success

                          Failure:(void(^)(NSError *error))failure;

 

/**

 * @brief提交验证码。

 * @param验证码

 * @param请求成功结果回调block

 * @param请求失败结果回调block

 */

+(void)commitVerifyCode:(NSString *)code

                Success:(void(^)(id responseObject))success

                Failure:(void(^)(NSError *error))failure;

© 著作权归作者所有

共有 人打赏支持
王航-聚合数据
粉丝 2
博文 12
码字总数 10969
作品 0
苏州
【AR】开始使用Vuforia开发iOS(2)

原 设置iOS开发环境 安装Vuforia iOS SDK 如何安装Vuforia iOS示例 编译并运行Vuforia iOS示例 支持iOS金属 iOS 64位迁移 设置iOS开发环境 适用于iOS的Vuforia引擎目前支持运行iOS 9及更高版...

lichong951
06/11
0
0
(转)直接拿来用!最火的iOS开源项目(一)

AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目。AFNetworking是一个轻量级的iOS、Mac OS X网络通信类库,现在是GitHub上第三大Objective-C库。它建立在...

孙启超
2013/06/21
0
0
Proxy-Go 全平台 SDK v4.9 来啦!

Proxy-Go 全平台 SDK是proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各...

狂奔的蜗牛.
06/12
0
0
IOS版OpenGL游戏引擎的集成KeyMob管理库教程

一:前提条件 1:下载适用于IOS的Google移动广告SDK 二:OpenGL游戏---横幅广告 如果您使用基于OpenGL的游戏引擎,但使用原生的IOS集成广告,我们建议您仅在游戏暂停或结束时,或者在用户未主动...

大街小巷
2015/11/20
0
0
Proxy-Go 全平台 SDK 迎来 v4.8 更新!

Proxy-Go 全平台 SDK是proxy使用gombile实现了一份go代码编译为android和ios平台下面可以直接调用的sdk类库, 另外还为linux和windows提供sdk支持,基于这些类库,APP开发者可以轻松的开发出各...

狂奔的蜗牛.
05/04
0
2
如何在CocoaPods中添加自定义的库

CocoaPods命令介绍 在 上一篇文章 中,已经介绍过CocoaPods的几条基本命令。 pod setup 用于初始化本地第三方库的Spec描述文件,所有的spec文件存都存放在 ~/.cocoapods 目录中。 pod instal...

泊竹
2013/12/09
0
0
10个优秀Objective-C和iOS开发在线视频教程

如果你自己开发iOS应用,你肯定会发现网上有很多资源。学习编程的一个最好的方法就是自己写代码,而开始写代码的最快的方式就是看其他人怎么写。我们从海量视频和学习网站中整理出了我们认为...

mingxun
2014/05/09
0
0
学习如何针对iOS 7进行开发?

  iOS 7已经发布了六个测试版,除了beta 6进行了小幅修正外,其他几个测试版都有不小的改动。昨天有消息说苹果将在9月10日发布iOS 7正式版,那么GM版很快将会与开发者见面。在iOS 7来临前夕...

fangzhou99
2013/09/17
0
0
再看知名应用背后的第三方开源项目

知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的...

hejunbinlan
2015/08/18
0
0
【文字识别】百度AI之运行IOS示例工程总结

中国AI有小帅 哈哈 有兴趣的可以扫码体验一下个人小程序 百度AI主页:http://ai.baidu.com/点击控制台登录或者注册即可 领先的AI服务分类 图像技术下的文字识别的IOS示例工程的运行 如何快速...

小帅帅丶
2017/10/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周一乱弹 —— 如果是你喜欢的女同学找你借钱

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @guanglun :分享Michael Learns To Rock的单曲《Fairy Tale》 《Fairy Tale》- Michael Learns To Rock 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
41分钟前
9
3
NNS域名系统之域名竞拍

0x00 前言 其实在官方文档中已经对域名竞拍的过程有详细的描述,感兴趣的可以移步http://doc.neons.name/zh_CN/latest/nns_protocol.html#id30 此处查阅。 我这里主要对轻钱包开发中会用到的...

暖冰
今天
0
0
32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
11
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部