QuickBlox:注销后已经登录错误

 手机用户2502937963 发布于 2023-02-09 04:45

我们正在使用QuickBlox的iOS SDK进行聊天实施.

目前我们只有两个视图控制器1).登录和2).在UserList

成功登录app后,在此视图中移动到UserList视图,我们有Logout按钮.根据QuickBlox API,我们使用以下方法进行注销

[QBUsers logOutWithDelegate:self];

按钮单击及其委托方法:

- (void)completedWithResult:(Result *)result
{
    if([result isKindOfClass:[QBUUserLogOutResult class]]) // QuickBlox User Logout result
    {
        // Success result
        if(result.success)
        {
            [self.navigationController popToRootViewControllerAnimated:YES];
        }
    }
}

成功注销后,应用程序返回登录界面.

问题:

当用户点击退出并且应用程序移动到登录屏幕时,如果用户输入相同的用户名和密码,则再次登录打印

Chat App[3183:5903] -[QBChat loginWithUser:] -> return. Already logged in

如何解决这个问题?或者实施登录/注销流程的最佳实践是什么?

1 个回答
  • 根据SDK参考,存在会话,只需用户登录和登录聊天即可.

    1)你需要创建会话.您可以简单地创建它:

     [QBAuth createSessionWithDelegate:self];
    

    或者有扩展请求:

     QBASessionCreationRequest *extendedAuthRequest = [QBASessionCreationRequest request];
     extendedAuthRequest.userLogin = @"garry";
     extendedAuthRequest.userPassword = @"garrySant88";
    
    [QBAuth createSessionWithExtendedRequest:extendedAuthRequest delegate:self]; 
    

    (如果使用扩展请求创建会话,则通过第二个操作)

    2)执行简单登录

     [QBUsers logInWithUserLogin:currentUser password:pass delegate:self]
    

    3)之后使用聊天:

    [[QBChat instance] loginWithUser:currentUser];
    

    对于注销,您应该按顺序执行注销方法.

    [[QBChat instance] logout];
    

    之后:

     [QBUsers logOutWithDelegate:self];
    

    和:

      [QBAuth destroySessionWithDelegate:self];
    

    不一定重新开放会话.您可以创建一个会话并多次登录/注销.

    2023-02-09 05:35 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有