qq腾讯登录

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/helloworld183/article/details/80138085

一步一步实现iOS QQ第三方登录

字数1236  阅读167  评论6 

前言

最近在公司应用中集成QQ登录的时候遇到一些波折(坑点),觉得还是有必要记录一下.

一.集成SDK

1.集成官方Framework

首先下载官网SDK iOS_SDK下载,目前来说最新的包是V3.1.0,下载完解压后你会看到


iOS_SDK.png
  • TencentOpenAPI.framework打包了iOS SDK的头文件定义和具体实现
  • TencentOpenApi_iOS_Bundle.bundle 打包了iOS SDK需要的资源文件
    然后将这两个文件拖入到工程中.

2.Cocoapods集成方式

除了导入官方Framework的方式,还有一种方式是集成Pods方式:TencentOpenApiSDK目前我用的版本是2.9.5.
我用的方式是Cocoapods集成的方式.如何选择请根据自身情况做出决定.

二.配置工程

1.添加SDK依赖的系统库文件

此外还需要导入一些库分别是“Security.framework”,“libiconv.dylib”,“SystemConfiguration.framework”,“CoreGraphics.Framework”、“libsqlite3.dylib”、“CoreTelephony.framework”、“libstdc++.dylib”、“libz.dylib”

在Xcode中打开工程配置文件,选择“general”一栏,在最下面找到"Linked Framewords and Libraries"选项点击下面添加按钮添加上面的库即可.


ImporFrameworks.png

2. 修改必要的工程配置属性。

在工程配置中的“Build Settings”一栏中找到“Linking”配置区,给“Other Linker Flags”配置项添加属性值“-fobjc-arc”


Build Settings.png

3.Info.Plist设置

在工程配置中的"Info"中找到"URL Types",添加一条新的“URL scheme”.
注意:

其中Identifier 和URL Schemes是必填项,Identifier是tencentopenapi,URL Schemes是tencent加上你在官网申请的appid.
申请APPID


info.png

你以为到了这步就完了吗,NO NO NO 要想实现点击之后跳转到QQ是应用间跳转的效果而不是打开一个登录网页的话我们还得再Info.plist表中添加一下链接.
找到工程的Info.plist,然后添加"LSApplicationQueriesSchemes"

三.业务集成

1. AppDelegate

到了这里,我们的工程配置算是完成了.接下来在AppDelegate中 #import <TencentOpenAPI/TencentOAuth.h> 并且重写AppDelegate 的handleOpenURL和openURL方法

2.初始化iOS SDK API数据对象TencentOAuth

(1) 创建TencentOAuth并初始化其appid,demo为123456789。delegate为实现TencentSessionDelegate的对象:

这里delegate不能为空

(2)设置应用需要用户授权的API列表。 (建议如果授权过多的话,可能会造成用户不愿意授权。这里最好只授权应用需要用户赋予的授权。):

注意: 这个地方官网是下面的写法

但是本人试验了一下之后会报"msg = "this api without user authorization";ret=100030"

遵守代理

需要遵守TencentSessionDelegate协议,并在代码中实现协议中的方法,具体方法很多,这里就不一一列举了,具体协议可以参照TencentOpenAPI.framework /Headers中的TencentOAuth.h文件

调用SDK登录

1.调用登录的方法很简单

2.登录完成之后,会调用TencentSessionDelegate中关于登录的协议方法

3.获取用户信息
实现- (void)getUserInfoResponse:(APIResponse*) response;方法,从response获取用户的个人信息

结束语

至此如何集成QQ第三方登录就介绍完毕,本人集成的时候也是跳了几个坑,慢慢来总会弄好的.如果大家有啥问题可以issue我.


一步一步实现iOS QQ第三方登录

字数1236  阅读167  评论6 

前言

最近在公司应用中集成QQ登录的时候遇到一些波折(坑点),觉得还是有必要记录一下.

一.集成SDK

1.集成官方Framework

首先下载官网SDK iOS_SDK下载,目前来说最新的包是V3.1.0,下载完解压后你会看到


iOS_SDK.png
  • TencentOpenAPI.framework打包了iOS SDK的头文件定义和具体实现
  • TencentOpenApi_iOS_Bundle.bundle 打包了iOS SDK需要的资源文件
    然后将这两个文件拖入到工程中.

2.Cocoapods集成方式

除了导入官方Framework的方式,还有一种方式是集成Pods方式:TencentOpenApiSDK目前我用的版本是2.9.5.
我用的方式是Cocoapods集成的方式.如何选择请根据自身情况做出决定.

二.配置工程

1.添加SDK依赖的系统库文件

此外还需要导入一些库分别是“Security.framework”,“libiconv.dylib”,“SystemConfiguration.framework”,“CoreGraphics.Framework”、“libsqlite3.dylib”、“CoreTelephony.framework”、“libstdc++.dylib”、“libz.dylib”

在Xcode中打开工程配置文件,选择“general”一栏,在最下面找到"Linked Framewords and Libraries"选项点击下面添加按钮添加上面的库即可.


ImporFrameworks.png

2. 修改必要的工程配置属性。

在工程配置中的“Build Settings”一栏中找到“Linking”配置区,给“Other Linker Flags”配置项添加属性值“-fobjc-arc”


Build Settings.png

3.Info.Plist设置

在工程配置中的"Info"中找到"URL Types",添加一条新的“URL scheme”.
注意:

其中Identifier 和URL Schemes是必填项,Identifier是tencentopenapi,URL Schemes是tencent加上你在官网申请的appid.
申请APPID


info.png

你以为到了这步就完了吗,NO NO NO 要想实现点击之后跳转到QQ是应用间跳转的效果而不是打开一个登录网页的话我们还得再Info.plist表中添加一下链接.
找到工程的Info.plist,然后添加"LSApplicationQueriesSchemes"

三.业务集成

1. AppDelegate

到了这里,我们的工程配置算是完成了.接下来在AppDelegate中 #import <TencentOpenAPI/TencentOAuth.h> 并且重写AppDelegate 的handleOpenURL和openURL方法

2.初始化iOS SDK API数据对象TencentOAuth

(1) 创建TencentOAuth并初始化其appid,demo为123456789。delegate为实现TencentSessionDelegate的对象:

这里delegate不能为空

(2)设置应用需要用户授权的API列表。 (建议如果授权过多的话,可能会造成用户不愿意授权。这里最好只授权应用需要用户赋予的授权。):

注意: 这个地方官网是下面的写法

但是本人试验了一下之后会报"msg = "this api without user authorization";ret=100030"

遵守代理

需要遵守TencentSessionDelegate协议,并在代码中实现协议中的方法,具体方法很多,这里就不一一列举了,具体协议可以参照TencentOpenAPI.framework /Headers中的TencentOAuth.h文件

调用SDK登录

1.调用登录的方法很简单

2.登录完成之后,会调用TencentSessionDelegate中关于登录的协议方法

3.获取用户信息
实现- (void)getUserInfoResponse:(APIResponse*) response;方法,从response获取用户的个人信息

结束语

至此如何集成QQ第三方登录就介绍完毕,本人集成的时候也是跳了几个坑,慢慢来总会弄好的.如果大家有啥问题可以issue我.

猜你喜欢

转载自blog.csdn.net/helloworld183/article/details/80138085