[iOS常见问题] 关于使用QQ做…

注意:QQ本身没有授权功能,所以想要使用QQ做第三方登录必须通过QQ空间来实现!


第一步:集成ShareSDK(步骤同集成分享的一样,如果已经集成过就不用再重新集成了),这里需要注意的是,由于是要通过QQ空间来实现授权登录,所以在下载ShareSDK包的时候别忘了勾选QQ空间,不然会报尚未导入平台(6)的错误。


第二步:打开工程中的*AppDelegate.m(*代表你的工程名字)
文件,导入QQSDK的头文件:

            #import

            #import

       检查是否已加入handleOpenURL的处理方法,如果没有则添加如下代码:

- (BOOL)application: (UIApplication *)application  handleOpenURL: (NSURL *)url

{

    return [ShareSDK handleOpenURL:url

                            wxDelegate:self;

}


- (BOOL)application: (UIApplication *)application

                openURL: (NSURL *)url

                sourceApplication: (NSString *)sourceApplication

                annotation: (id)annotation

{

    return [ShareSDK handleOpenURL: url

                   sourceApplication:sourceApplication

                   annotation: annotation

                   wxDelegate: self;

  

第三步: 加入QQ空间初始化方法

   在*AppDelegate.m里面的

- (BOOL)application: (UIApplication *)application didFinishLaunchingWithOptions: (NSDictionary *)launchOptions{}方法中

//初始化我们的sdk

[ShareSDK registerApp:@"iosv1101"];

//添加QQ空间应用

[ShareSDK connectQZoneWithAppKey:@"100371282"

                            appSecret:@"aed9b0303e3ed1e27bae87c33761161d"

                   qqApiInterfaceCls:[QQApiInterface class]

                     tencentOAuthCls:[TencentOAuth class;


注意:这里需要填入的AppKey就是您在QQ互联注册应用的AppID,appSecret就是AppKey!


第四步:配置QQ空间的URL Schemes


    打开*-Info.plist(*代表你的工程名字)。找到URL types配置项(如果没有则新增),展开URL types – URL Schemes,在URL Schemes下分别各新增一项用于QQ空间的Scheme(如果不添加则会导致法返回应用)。其填写格式为:tencent+appID(你在QQ空间中申请的AppId), 如:tencent100371282。


第五步:授权登录并获取用户信息


    在您的点击事件方法中加入授权获取用户信息接口:


[ShareSDK getUserInfoWithType:ShareTypeQQSpace

                                  authOptions:nil

                                             result:^(BOOL result, id userInfo, id error) {

                               

                               if (result)

                                               

                              //打印输出用户uid:                                 

                                   NSLog(@"uid = %@",[userInfo uid]);

                             //打印输出用户昵称:

                                   NSLog(@"name = %@",[userInfo nickname]);

                            //打印输出用户头像地址:

                                   NSLog(@"icon = %@",[userInfo profileImage]);


}else{


     NSLog(@"授权失败!error code == %d, error code == %@", [error errorCode], [error errorDescription]);

  

}];

注意:ShareTypeQQSpace这里一定是写QQSpace不能写QQ否则会报 不支持授权功能的错误。

           这里只在result里面做了输出的操作 如果您想要做存储数据或者其它显示都可以在这里面操作!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值