您的位置:首页 > 移动开发 > Swift

iOS中使用swift语言做淘宝的第三方登录

2016-12-22 14:01 302 查看
         现在第三方登录是在大部分APP都有的功能,我们最近项目中使用了淘宝的第三方登录,这个我们平时使用的较少,而且使用的是swift3.0,调用oc语法,使用过程中还是遇到了些问题,所以现在做下终结,方便下次使用

首先:淘宝的第三方的登录需要到阿里百川的官网上申请,和其他的一样,嵌入sdk之后即可调用语法,这种很常见,没什么与众不同的点,按照官方文档来即可,我所遇到的问题是,需要用swift调用objective-c的函数,而且这个函数是用宏的形式写好的,我们发现,不能直接在swift中使用这个宏,这时候,就需要点击进去看看OC中的这个宏,发现是一些函数,如下如所示:

,于是照着这个函数写,发现还是有问题,这个时候需要在swift和oc的桥接文件中导入相应的库,如下图



这个时候就可以直接用swift方法调用了,函数带着一个闭包的参数,而且需要一个protocol的对象,写法如下



 (ALBBSDK.sharedInstance().getService(ALBBLoginService.self) as!ALBBLoginService).showLogin(UIApplication.shared.keyWindow?.rootViewController, successCallback:

            {(session) in

                if(session?.isLogin() == true){

                    let userModel = session?.getUser();

                    let userId = userModel?.userId;

                    let nick = userModel?.nick;

                    let iconUrl = userModel?.iconUrl;

 

                }

        }, failedCallback:

            { (error) in

                print(error!);

        },notUseTaobaoAppLogin: false);


如上的代码可以看出,返回一个session的对象,可从这个对象拿到相应的头像,昵称之类的的数据,后边带的有个参数是不是可以通过客户端唤起淘宝来授权登录,false即是可以唤起,相反,true表示仅仅通过网页授权,拿到授权之后,做相应的操作即可,如上,则实现了淘宝的第三方登录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息