文档章节

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

王航-聚合数据
 王航-聚合数据
发布于 2014/10/10 09:31
字数 808
阅读 21
收藏 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
快速搭建一个“微视”类短视频 App

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯云视频发表于云+社区专栏 关注公众号“腾讯云视频”,一键获取 技术干货 | 优惠活动 | 视频方案 “爱就像蓝天白云晴空...

腾讯云加社区
10/26
0
0
Bytom移动端钱包SDK开发基础

比原项目仓库: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockchain/bytom Bytom-Mobile-Wallet-SDK 是从bytom源码中抽离出的钱包层代码,并且对钱包...

比原链Bytom
09/10
0
0
学习如何针对iOS 7进行开发?

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

fangzhou99
2013/09/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

小白带你认识netty(三)之NioEventLoop的线程(或者reactor线程)启动(一)

在第一章中,我们看关于NioEventLoopGroup的初始化,我们知道了NioEventLoopGroup对象中有一组EventLoop数组,并且数组中的每个EventLoop对象都对应一个线程FastThreadLocalThread,那么这个...

天空小小
51分钟前
0
0
PHP动态扩展Redis模块

查看已有模块 [root@test-a ~]# /usr/local/php/bin/php -m[PHP Modules]bz2Core...zlib[Zend Modules] 下载包,解压,生成configure文件 [root@test-a ~]# cd /usr/local/src/[ro......

野雪球
今天
1
0
在Ignite中使用线性回归算法

在本系列前面的文章中,简单介绍了一下Ignite的机器学习网格,下面会趁热打铁,结合一些示例,深入介绍Ignite支持的一些机器学习算法。 如果要找合适的数据集,会发现可用的有很多,但是对于...

李玉珏
今天
2
0
Mybatis应用学习——简单使用示例

1. 传统JDBC程序中存在的问题 1. 一个简单的JDBC程序示例: public class JDBCDemo {public static void main(String[] args) {Connection con=null;PreparedStatement statemen...

江左煤郎
今天
2
0
使用JavaScript编写iOS应用业务逻辑

JSAUIKitCocoa使你可以使用JavaScript编写对性能要求不高但可能变动性很大的iOS应用的业务逻辑部分,View组件、需要多线程支持的Model等则直接使用原生对象。 编写方式与React Native相似,但...

neal01
今天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部