ShareSDK集成短信验证功能

一,获取AppKey

二,通过CocoaPods安装

通过 CocoaPods进行安装,只需在 Podfile文件中添加,添加之后执行 pod install 命令

# Mob产品公共库
pod 'MOBFoundation_IDFA'
# SMSSDK必须
pod 'SMSSDK'

三.项目快速集成

AppDelegate.m文件中导入头文件

import 

初始化SMS服务

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [SMSSDK registerApp:@"14d0d58e16664" withSecret:@"7d01b9089172e5a255cb64c99876d7b9"];
    return YES;
}

点击注册弹出注册界面

 RegViewController* reg = [[RegViewController alloc] init];
    [self presentViewController:reg animated:YES completion:nil];

注册界面RegViewController,进入该界面后,可选择国家和地区和输入手机号码进行短信注册验证;

选择国家和地区的选项进入SectionsViewController,在该控制器会从服务端获取所支持的国家和地区;

用户在注册页面输入手机号码之后,点击下一步,界面跳转到短信验证界面同时服务端会发送短信验证码到手机;

短信验证界面对应的控制器为VerifyViewController 主要处理短信的验证功能。

获取通讯录好友界面

[_testView setNumber:0];
 
    SectionsViewControllerFriends* friends = [[SectionsViewControllerFriends alloc] init];
 
    _friendsController = friends;
 
    [_friendsController setMyBlock:_friendsBlock];
 
    [SMS_MBProgressHUD showMessag:NSLocalizedString(@"loading", nil) toView:self.view];
 
    [SMSSDK getAllContactFriends:1 result:^(NSError *error, NSArray *friendsArray) {
 
        if (!error) {
 
            [_friendsController setMyData:[NSMutableArray arrayWithArray:friendsArray]];
 
            [self presentViewController:_friendsController animated:YES completion:^{
                ;
            }];
        }
 
    }];
 
    //判断用户通讯录是否授权
    if (_alert1)
    {
        [_alert1 show];
    }
 
    if(ABAddressBookGetAuthorizationStatus() != kABAuthorizationStatusAuthorized && _alert1 == nil)
    {
        NSString* str = [NSString stringWithFormat:NSLocalizedString(@"authorizedcontact", nil)];
        UIAlertView* alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"notice", nil)
                                                      message:str
                                                     delegate:self
                                            cancelButtonTitle:NSLocalizedString(@"sure", nil)
                                            otherButtonTitles:nil, nil];
        _alert1 = alert;
        [alert show];
    }

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

  • 已加入的用户:可以点击添加按钮,直接添加已加入该app的通讯录好友。
  • 待邀请的用户:可以点击邀请按钮发送短信邀请好友加入该app。

获取验证码的方法

/*
 *  @from                    v1.1.1
 *  @brief                   获取验证码(Get verification code)
 *
 *  @param method            获取验证码的方法(The method of getting verificationCode)
 *  @param phoneNumber       电话号码(The phone number)
 *  @param zone              区域号,不要加"+"号(Area code)
 *  @param customIdentifier  自定义短信模板标识 该标识需从官网http://www.mob.com上申请,审核通过后获得。(Custom model of SMS.  The identifier can get it  from http://www.mob.com  when the application had approved)
 *  @param result            请求结果回调(Results of the request)
*/
[SMSSDK getVerificationCodeByMethod:SMSGetCodeMethodSMS phoneNumber:@"13263497584"
                                   zone:@"86"
                       customIdentifier:nil
                                 result:^(NSError *error){
     if (!error) {
         NSLog(@"获取验证码成功");
     } else {
         NSLog(@"错误信息:%@",error);
     } } ];

提交验证码的方法

/**
 * @from               v1.1.1
 * @brief              提交验证码(Commit the verification code)
 *
 * @param code         验证码(Verification code)
 * @param phoneNumber  电话号码(The phone number)
 * @param zone         区域号,不要加"+"号(Area code)
 * @param result       请求结果回调(Results of the request)
 */
   [SMSSDK commitVerificationCode:self.verifyCodeField.text phoneNumber:_phone zone:_areaCode result:^(NSError *error) {

            if (!error) {
                NSLog(@"验证成功");
            }
            else{
                NSLog(@"错误信息:%@",error);

            }}];

同时集成分享和SMS的注意事项:

一.导入的公共库需要修改

  • 如果是用cocoaPods进行集成的,则只需要 pod ‘MOBFoundation_IDFA’即可。
  • 如果是手动下载的SDK:
  • 1、如果ShareSDK的版本是IDFA版本的,则只要保留SMSSDK或者ShareSDK中的任何一个公共库MOBFoundation即可;
  • 2、如果ShareSDK是非IDFA版本的,则删除掉ShareSDK版本中的公共库,只保留SMSSDK中的公共库,此时使用IDFA版本的公共库并不影响ShareSDK的使用

二.初始化方法的先后问题

如果将 SMSSDK 的初始化方法 [SMSSDK registerApp:appKey withSecret:appSecret];
写在 ShareSDK 的初始化方法之前的话,只会在短信后台 [IDFA 设置]出现数据,反之亦然(没看懂官方文档这句话的意思)。

你可能感兴趣的:(ShareSDK集成短信验证功能)