最近因为新的APP需要使用微信和QQ登录的,而为了方便所以统一使用了友盟的第三方登录,至于其他的第三方也可以各自根据需求进行选择,比如Mob等等,这里我们就说说友盟的。友盟提供的方式有直接下载SDK放到项目工程中去,但是鉴于前车之鉴,现在这种第三方一般都采用Cocoapods进行管理了,有什么好处呢?
一是、管理方便,统一使用cocoapods管理;
二是、升级方便,曾经使用环信即时通讯的时候把SDK下载放入工程中直接导致根本无法更新SDK,因为涉及太多了,而更新第三方SDK是以免出现问题可以第一时间使用到最新的第三方服务,比如曾经苹果热更新的审核问题,很多就是因为SDK的问题,然后如果第三方是用cocoapods管理的话,只要pod update一个命令就可以解决热更新审核的问题。
而关于cocoapods方式集成友盟的文章以及友盟官方说得感觉也有点繁琐,下面我就一步一步图文结合的方式说说使用cocoapods的方式集成友盟的微信和QQ登录,不过友盟关于cocoapods集成的方式,也可以点击这个链接,友盟官方cocoapods集成方式。下面就说说实际使用过程中的步骤,如下:
第一、准备好微信开发者应用,获取到微信开发者里应用的ID和Secret,至于申请微信开发者和创建应用这个步骤就不累述了,如下图:
第二、准备好QQ互联开发者应用,获取到QQ开发者里应用的ID,key可以不用获取,因为用不到。至于申请QQ互联开发者和创建应用这个步骤也不累述了,不过关于创建QQ互联应用的里面有点需要说明一下的是,
说明:由于APP还正处于开发阶段,没有URL Schema和AppStore ID,所以这里先是乱写的,但是也有规律!
URL Schema格式是:QQ + 8位数字,
AppStore ID格式是:10位纯数字,
等上架之后再回来改即可!
QQ互联里面的截图,如下图:
第三、获取友盟自身的key,同样不类书申请友盟开发者和创建应用这个步骤,获取方式如下图:
第四、cocoapods添加组件
第五、配置Xcode项目步骤
5.1 根据集成的不同平台加入相关的依赖库,未列出平台则不需添加添加方式:选中项目Target -> General -> Linked Frameworks and Libraries列表中进行添加。
5.2 第三方平台配置
配置SSO白名单
如果你的应用使用了如SSO授权登录或跳转到第三方分享功能,在iOS9/10下就需要增加一个可跳转的白名单,即LSApplicationQueriesSchemes,否则将在SDK判断是否跳转时用到的canOpenURL时返回NO,进而只进行webview授权或授权/分享失败。在项目中的info.plist中加入应用白名单,右键info.plist选择source code打开(plist具体设置在Build Setting -> Packaging -> Info.plist File可获取plist路径)请根据选择的平台对以下配置进行裁剪:
下面是放在info.plist里面的代码,如下:
(代码直接复制进来几次都没成功,都会出现乱码,知道怎么解决的告诉我,谢谢!QQ:834537795)
5.3 配置第三方平台URL Scheme
第六、设置代码,在AppDelegate里面添加下面截图的代码,不过首先要导入两个头文件,具体如下图:
第七、点击微信和QQ登录
点击QQ登录调用的方法:
微信登录调用方法:
第八、设置和监听回调
在AppDelegate.m中添加以下方法设置回调
到上面为止,cocoapods快速集成友盟的微信和QQ登录大致全部都完成了!如果还有什么情况,欢迎和我交流,QQ:834537795。