友盟微博二次登录或授权,用户uid等信息为空

今天不忙,随便测试下自己做的app,发现集成友盟三方登录的时候,微博登录后并绑定手机号的一个bug。
当我启动应用第一次进行授权登录并绑定手机号正常,取消绑定操作也正常。再次点击立即绑定授权页的回调信息那些uid什么的信息全部是null。没有错是null。
最后才发现错误在这里发生。
这个时候估计你把绑定的操作放在了授权成功的回调里面。此时需要一个判断

 #pragma mark - 三方登陆
- (void)getUserInfoForPlatform:(UMSocialPlatformType)platformType
{
    WEAKSELF
    [[UMSocialManager defaultManager] getUserInfoWithPlatform:platformType currentViewController:nil completion:^(id result, NSError *error) {
        NSString *message = nil;
        if (error) {
            message = [NSString stringWithFormat:@"Get info fail:\n%@", error];
            UMSocialLogInfo(@"Get info fail with error %@",error);
        }else{
            if ([result isKindOfClass:[UMSocialUserInfoResponse class]]) {
                UMSocialUserInfoResponse *resp = result;
                // 第三方登录数据(为空表示平台未提供)
                // 授权数据
                NSLog(@" uid: %@", resp.uid);
                NSLog(@" openid: %@", resp.openid);
                NSLog(@" accessToken: %@", resp.accessToken);
                NSLog(@" refreshToken: %@", resp.refreshToken);
                NSLog(@" expiration: %@", resp.expiration);
                // 用户数据
                NSLog(@" name: %@", resp.name);
                NSLog(@" iconurl: %@", resp.iconurl);
                NSLog(@" gender: %@", resp.unionGender);
                // 第三方平台SDK原始数据
                NSLog(@" originalResponse: %@", resp.originalResponse);
                if ([resp.uid length] > 0) {
                    //执行绑定操作
                }
            }else{
                message = @"Get info fail";
            }
        }
    }];
}

这样解决了我的bug
其实我也不是特别明白。为什么取消绑定后还会再走一下回调,并且信息被清楚了或者说在没有授权状态下信息是空的。。。呢?希望哪位大神知道的留言给我。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值