iOS SDK接入

接入流程

1、填写《一键登录开户申请表》,提交给商务进行运营商报备:  申请表下载

2、报备成功后,在平台上开通一键登录账号,获得appId和appSecret。

开发流程

1、集成SDK和运营商库: 导入整个sdk文件夹

2、设置Other Linker Flags:在Build Settings的Linking中设置Other Linker Flags为-Objc -all_load

image-20200617135248407

如果找不到头文件,设置一下Header Search Paths

image-20200617135304181

3、调用一键登录

预准备

1
2
3
4
5
6
7
8
9
10
11
#include <OneLoginSDK/OneLoginSDK.h>           //引入SDK头文件
......
[OneLoginSDK sharedInstance].demoServer=true; //是否使用测试服务器
[OneLoginSDK sharedInstance].apiVersion=@"v1"; //接口版本号(支持多版本)
[[OneLoginSDK sharedInstance] setConfig:configString];
//自定义配置,如果此处不设定,也可以在WEB管理台中进行设定
[[OneLoginSDK sharedInstance] prepare:self AppId:@"申请到的appId" AppSecret:@"申请到的AppSecret" Successed:^(NSString * _Nonnull success) {

} failed:^(NSString * _Nonnull error) {
//隐藏一键登录按钮或提示错误信息
}];

选择一键登录后

1
2
3
4
5
6
7
[[OneLoginSDK sharedInstance] start:self Success:^(NSString * _Nonnull success) {
{mobile:xxx,token:xxxx} //认证成功返回
//TOKEN可用于进行后台验证
//跳转到登录成功的View
} failed:^(NSString * _Nonnull error) {
//一键登录出错,可以提示重试或切换到其它认证方式
}];

4、UI定制:
(1)接口设定
调用OneLoginSDK.setConfig(“{…}”);将json格式的设定值传入:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
{

"ui": {

"nav": {
"color": "#ffffff",
"content": "一键登录",
"fontSize": 17,
"lineColor": "#cccccc",
"navHidden": false,
"returnImgPath": "arrow_back",
"backgroundColor": "#0086d0"
},

"logo": {
"top": 30,
"width": 70,
"height": 70,
"logoHidden": false,
"backgroundImage": "ic_launcher"
},

"login": {
"top": "100",
"color": "#ffffff",
"content": "本机号码一键登录",
"fontSize": 15,
"backgroundImage": "selector_button_cucc"
},

"mobile": {
"top": 30,
"color": "#333333",
"fontSize": 18
},

"slogan": {
"top": 30,
"color": "#999999",
"fontSize": 10
},

"privacy": {
"href": "https:\/\/www.baidu.com",
"color": "#0085d0",
"label": "自定义协议",
"bottom": 30,
"margin": 50,
"fontSize": 10
}

}

}

(2)WEB管理台中进行一键登录设定
详情查询自定义UI

5、通过token验证手机
详情查询服务接口

错误码

状态码 含义
ERROR_APPID AppId不存在
ERROR_PARAMS 请求参数错误
ERROR_PLATFORM 手机平台错误
ERROR_ENCRYPTION 解密失败
ERROR_DATA 数据格式错误
ERROR_CODE 平台验证错误