一,獲取AppKey
二,通過CocoaPods安裝
通過 CocoaPods進行安裝,只需在 Podfile文件中添加,添加之后執行 pod install 命令
# Mob產品公共庫
pod 'MOBFoundation_IDFA'
# SMSSDK必須
pod 'SMSSDK'
三.項目快速集成
在AppDelegate.m
文件中導入頭文件
import <SMS_SDK/SMSSDK.h>
初始化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 設置]
出現數據,反之亦然(沒看懂官方文檔這句話的意思)。