一共7步
<1>.下載一登SDK
<2>.填寫信息
<3>.導(dǎo)入SDK
<4>.配置SDK
<5>.初始化SDK
<6>.調(diào)用登陸接口
<7>.完成
1.下載一登SDK
2.填寫下面的信息(這里的填寫會影響下面的5.2內(nèi)容 )
3.導(dǎo)入SDK
方法1:(整個SDK全拖進工程)
將 SDK 文件夾拖拽到 Xcode 工程目錄結(jié)構(gòu)中帚湘。在彈出的界面中勾選Copy items if needed, 并確保Add to targets勾選對應(yīng)的 target孩哑。
方法2:
使用 Cocoapods 安裝 SDK
Cocoapods 安裝完成后媒峡,在你的項目根目錄創(chuàng)建一個 Podfile 文件,添加如下內(nèi)容:
pod "SuperID"
執(zhí)行pod install將會安裝最新版本的一登 SDK
4. 配置 SDK
-
1.添加-ObjC、-lstdc++編譯選項蜡豹。方法如下:Xcodeproj->Build Settings->Linking->Other Linker Flags,在 Other Linker Flags 選項中,雙擊該選項,點擊彈出框左下?的 + 按鈕,分別添加-ObjC 字符和 -lstdc++ 字符麸粮。
添加-ObjC參數(shù)后鏈接器可以把靜態(tài)庫中所有的 Objective-C 類和分類都加載到最后的可執(zhí) 行文件中。 添加 -lstdc++ 參數(shù)是由于一登 SDK 的靜態(tài)庫中需要 c++ 標準庫支持镜廉。
2974DCF1-36BA-4C5F-BE79-302A43ED6538.png
如果你使用 Cocoapods 安裝 SDK弄诲,可跳過此步驟。
- 2.如果使用的開發(fā)工具是 Xcode 7.0 以上版本,需要手動關(guān)閉 Bitcode娇唯。
方法為:Xcodeproj->Build Settings->Enable Bitcode 設(shè)置為 NO威根。
5. 初始化 SDK
-
5.1.首先:在AppDelegate.m文件中,導(dǎo)入 SuperID SDK视乐。
#import "SuperID.h"
-
5.2.接著,在 app delegate 方法中添加如下初始化代碼:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { [[SuperID sharedInstance]registerAppWithAppID:@"f70b68f7cfcd70de647ccb66" withAppSecret:@"7da6ee7f36fed97ea0c35a0c"]; //開啟SuperID SDK的調(diào)試模式敢茁,開發(fā)者在Release時佑淀,將該模式設(shè)置為NO. [SuperID setDebugMode:YES]; //設(shè)置一登 SDK 的語言模式,默認為自動模式彰檬。 [SuperID setLanguageMode:SIDAutoMode]; return YES; }
注:一登 SDK 支持以下四種語言模式伸刃,開發(fā)者可自行選擇(默認為自動模式,根據(jù)系統(tǒng)語言切換)逢倍。
6. 調(diào)用登錄接口
-
1.登錄流程說明
一登 SDK 授權(quán)登錄適用于擁有 server 端的應(yīng)用授權(quán)余佛,目前移動應(yīng)用上一登提供內(nèi)嵌 UI 的登錄方式购桑。該模式整體流程如下:
第三方發(fā)起一登授權(quán)登錄請求,進入一登授權(quán)登錄頁面,用戶進行刷臉登錄操作過程(首次用戶需確認其一登賬戶的賬戶信息)钥组。
一登 SDK 判斷用戶授權(quán)狀態(tài)。已授權(quán)用戶刷臉認證后進入步驟4献幔。未授權(quán)用戶刷臉認證后進入步驟3负甸。
用戶允許授權(quán)第三方應(yīng)用。
通過繼承一登 SDK 的委托回調(diào)慎玖,獲取用戶基本數(shù)據(jù)資源贮尖。 -
2.登錄集成說明
在App的登陸控制器的.m中,同樣導(dǎo)入 SuperID SDK。
#import "SuperID.h"
在 App 的登陸控制器中,掛 SuperID SDK的代理<SuperIDDelegate>
在登陸控制器的ViewWillAppear方法中添加如下代碼:
-(void)viewWillAppear:(BOOL)animated{
[SuperID sharedInstance].delegate = self;
}
-
3.你設(shè)置一個登陸按鈕(下面按鈕里面的方法)
NSError *error = nil; id SIDLoginViewController = [[SuperID sharedInstance]obtainLoginViewControllerWithError:&error]; if (SIDLoginViewController) { [self presentViewController:SIDLoginViewController animated:YES completion:nil]; }else{ NSLog(@"Error =%ld,%@",(long)[error code],[error localizedDescription]); }
4.在當前的登陸控制器的
.m
文件中趁怔,添加一登SDK
的代理方法湿硝,代碼如下:
- (void)superID:(SuperID *)sender userDidFinishLoginWithUserInfo:(NSDictionary *)userInfo withOpenId:(NSString *)openId error:(NSError *)error{
if (!error) {
//授權(quán)登錄成功
NSLog(@"userInfo:%@", userInfo);
NSLog(@"openId = %@", openId);
}else{
//授權(quán)登錄失敗
NSLog(@"Login Fail Error =%ld,%@",(long)[error code],[error localizedDescription]);
}
}
在 iPhone 真機上編譯并運行當前工程。在網(wǎng)絡(luò)環(huán)境正常情況下润努,點擊界面的按鈕关斜,應(yīng)用將會彈出一登SDK
的登錄頁面。登錄操作成功后铺浇,工程將執(zhí)行一登SDK
的代理方法蚤吹,并獲取當前用戶的個人信息。
成功的返回,參數(shù)信息樣例:
userInfo:{
avatar = "xxxxx.jpg";
name = "\U5f90\U9a8f\U6770V1\Uff01";
persona = {
character = reserved;
gender = male;
generation = 90s;
location = {
city = "\U6df1\U5733";
country = CN;
province = "\U5e7f\U4e1c";
};
tags = (
eyeglasses
);
};
phone = 136xxxx9914;
}
openId = xxxxxxxxxxxxxx
失敗的返回裁着,參數(shù)userInfo和uid為nil繁涂。error信息樣例如下:
Login Fail Error =-1000,Login Fail
7.在需要的地方退出登錄(一般在我的里面,記得導(dǎo)入#import "SuperID.h"
)
當用戶在三方應(yīng)用發(fā)起退出賬戶或退出登錄請求時,開發(fā)者需執(zhí)行以下方法二驰。該方法不會解除一登賬戶與三方應(yīng)用的授權(quán)綁定狀態(tài)扔罪,僅用于清除當前一登賬戶的憑證信息,開發(fā)者如需執(zhí)行解除綁定操作桶雀,可查閱《授權(quán)查詢與取消授權(quán)指南》矿酵。
[[SuperID sharedInstance]appUserLogoutCurrentAccount];
8.完成刷臉
接入完畢后,能成功調(diào)取刷臉登陸界面(如圖所示)矗积,并刷臉成功全肮,則 SuperID SDK
接入成功。