iOS QQ第三方登录实现

时间:2021-10-24 07:34:30

本文实例为大家分享了iOS QQ第三方登录实现代码,供大家参考,具体内容如下

一、准备工作

1、到QQ开放平台(http://connect.qq.com/ )注册成为开发者,申请appkey,
2、在URL Types中添加QQ的AppID,其格式为:”tencent” + AppID    例如tencent1104463316

二、配置AppDelegate.m

1、导入<TencentOpenAPI/QQApiInterface.h> 和<TencentOpenAPI/TencentOAuth.h>两个头文件
2、配置函数:

?
1
2
3
4
5
6
7
8
9
- (BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url
{
  return [TencentOAuth HandleOpenURL:url];
}
 
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
  return [TencentOAuth HandleOpenURL:url];
}

三、在登录界面中设置代码

1、导入#import <TencentOpenAPI/TencentOAuth.h>
2、遵守协议:<TencentSessionDelegate>
3、触发登陆方法中写入一下代码:

?
1
2
3
4
5
6
7
8
9
-(void)QQLogin
{
  NSArray* permissions = [NSArray arrayWithObjects:
              kOPEN_PERMISSION_GET_USER_INFO,
              kOPEN_PERMISSION_GET_SIMPLE_USER_INFO,
              kOPEN_PERMISSION_ADD_ALBUM,
              nil nil];
  [self.tencentOAuth authorize:permissions];
}

4、获取用户信息

?
1
2
3
4
5
6
7
8
9
10
11
12
13
-(void)tencentDidLogin
{
  [self.tencentOAuth getUserInfo];
}
[objc] view plain copy 在CODE上查看代码片派生到我的代码片
- (void)getUserInfoResponse:(APIResponse*) response
{
  NSLog(@"getUserInfo = %@",response.jsonResponse);
  NSLog(@"getUserInfo.nickName = %@",[response.jsonResponseobjectForKey:@"nickname"]);
  NSString* alertMessage = [NSStringstringWithFormat:@"%@",response.jsonResponse];
  NSString* headerPath = [response.jsonResponseobjectForKey:@"figureurl_qq_2"];
  NSString* name = [response.jsonResponseobjectForKey:@"nickname"];
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持服务器之家。