一.接入网易易盾SDK
前言
1.此文章为Swift版本,OC版本可参考网易易盾官网接入实现文档
2.网易易盾SDK兼容iOS系统版本9.0+
CocoaPods集成方式
1.更新Podfile文件
在工程的 Podfile 里对应的 Target 中添加以下代码
pod 'VerifyCode'
2.集成SDK
在工程的当前目录下, 运行 pod install 或者 pod update
3.工程设置
在工程target目录内,需将Build Settings —> other link flags设置为-ObjC。
备注:
- 命令行下执行pod search VerifyCode,如显示的VerifyCode版本不是最新的,则先执行pod update操作更新本地repo的内容
- 如果想使用最新版本的SDK,则执行pod update
- 如果你的工程设置的"Deplyment Target"低于 9.0,则在Podfile文件的前面加上以下语句 platform :ios, ‘9.0’
手动集成方式
1.前往官网下载SDK
链接:http://support.dun.163.com/documents/15588062143475712?docId=150442931089756160&locale=zh-cn
我一直搞不明白为什么要下载Demo,直接下载SDK不就完了…
2.导入项目
导入 VerifyCode.framework 到工程
导入NTESVerifyCodeResources.bundle到工程中:
进入Build Phase,在Copy Bundle Resources选项中,添加NTESVerifyCodeResources.bundle文件(请勾选Copy items if needed选项) 。
3.添加依赖库
添加SystemConfiguration.framework JavaScriptCore.framework、WebKit.framework
4.工程设置
在工程target目录内,需将Build Settings —> other link flags设置为-ObjC。
二.网易易盾SDK使用
1.创建实例
var netEaseManager : NTESVerifyCodeManager!
2.引入代理
// NTESVerifyCodeManagerDelegate -> 代理
class LoginVC: UIViewController,NTESVerifyCodeManagerDelegate {}
3.代码实现
netEaseManager.delegate = self
// captchaid的值是每个产品从后台生成的,比如 @"a05f036b70ab447b87cc788af9a60974"
// 传统验证码
let captchaid = "deecf3951a614b71b4b1502c072be1c1"
// 设置验证码类型
netEaseManager.mode = NTESVerifyCodeMode.normal
/**
* @abstract 配置参数
* @param captcha_id 验证码id
* @param timeoutInterval 加载验证码的超时时间,最长12s。这个时间尽量设置长一些,比如7秒以上(7-12s)
*/
netEaseManager.configureVerifyCode(captchaid, timeout: 7.0)
// 设置语言
netEaseManager.lang = NTESVerifyCodeLang.CN
// 设置背景透明度
netEaseManager.alpha = 0.3
// 设置背景颜色
netEaseManager.color = UIColor.black
// 设置是否开启降级方案
netEaseManager.openFallBack = true
/**
* @abstract 设置发生第fallBackCount次错误时,将触发降级。取值范围 >=1
* 默认设置为3次,第三次服务器发生错误时,触发降级,直接通过验证。
*/
netEaseManager.fallBackCount = 3
// 是否隐藏关闭按钮
netEaseManager.closeButtonHidden = false
// 设置位置大小
netEaseManager.frame = CGRect.init()
// 展示验证码视图
netEase.openVerifyCodeView()
4.回调方法
1.验证码组件初始化完成
func verifyCodeInitFinish() {
print("收到初始化完成的回调")
}
2.验证码组件初始化出错
func verifyCodeInitFailed(_ error: [Any]!) {
print("收到初始化失败的回调:\(String(describing: error))")
}
3.完成验证之后的回调
// result 验证结果 BOOL:YES/NO
// validate 二次校验数据,如果验证结果为false,validate返回空
// message 结果描述信息
func verifyCodeValidateFinish(_ result: Bool, validate: String!, message: String!) {
print("收到验证结果的回调:result=\(result),validate=\(String(describing: validate)),message=\(String(describing: message)) 2")
}
4.关闭验证码窗口后的回调
func verifyCodeCloseWindow() {
print("收到关闭验证码视图的回调")
}
5.网络错误回调
func verifyCodeNetError(_ error: Error!) {
print("收到网络错误的回调:error\(String(describing: error))")
}
#5.实现效果图
来源:CSDN
作者:SaKuRuaa
链接:https://blog.csdn.net/qq_37025013/article/details/104669911