公司决定采用阿里云进行运营商的一键登录,作为小白,就将自己的完成历程简单记录下,以免遗忘。
前期准备工作不再赘述,按照开发者文档,一步一步执行下去,help.aliyun.com/document_de…
包成功引入以后
为验证可以调用一下获取当前SDK版本号:
1、接下来就可以撸第一步咯:初始化sdk
oc->swift
TXCommonHandler.sharedInstance().setAuthSDKInfo(sdk, complete: { resultDic **in**
print("设置秘钥结果:\(resultDic)")
})
成功的话,打印结果为:
2、此时可以视情况调用,加速授权页弹出,不调用也不影响授权页弹出。(授权页为阿里固定的样式,可以在基础上进行修改,具体可查看上方开发者文档 8.1)
3、接下来检查一下环境是否支持一键登录,
oc->swift
TXCommonHandler.sharedInstance().checkEnvAvailable(with: PNSAuthType(rawValue: 2)!,
complete: { resultDic in
print("环境检查返回:\(resultDic)")
})
此处之所以传2,是因为
结果可能为多种,具体查看返回值
环境检查通过的话
此时授权页会成功弹起(此处为自定义过后的授权页)
4、接下来最重要的一步,获取token。
自定义样式就比较简单了,根据TXCustomModel注释,一步一步进行就好。 oc->swift
let oneBtnLoginModel = TXCustomModel()
TXCommonHandler.sharedInstance().getLoginToken(
withTimeout: 2.0,
controller: self,
model:self.oneBtnLoginModel,
complete: { resultDic in
let res = resultDic as! [String:Any]
print("res===\(res)")
let resultCode = res["resultCode"] as! String
})
注释写的很明白,根据返回值去判断触发了什么事件,以及下一步操作是否能继续。
只有点击了同意用户条款才能获取token哦!
成功获取token
5、此时可以找你的后端,拿着token去获取手机号码啦。
获取成功
6、登录成功后,可以注销授权页啦。
注意的几个点:
1、仅获取token,不计费。
2、oc-swift,本人接触ios时间不长,对于oc一无所知,方法转换花费了巨量的时间,swiftify.com/converter/c… 看名字很直观吧!没错 oc->swift,号称准确率90%。
可以用来给我这样的小白参考!注意是参考!!!不全准确的!
3、仔细看文档及注释。中间走了很多弯路,最后发现文档里面写明了,是自己过于粗心,要引以为戒。