- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们正在使用 QuickBlox 的 iOS SDK 进行聊天实现。
目前我们只有两个 View Controller 1)。登录和 2)。用户列表
成功登录后应用程序移动到 UserList View ,在此 View 中我们有Logout 按钮。根据 QuickBlox API,我们使用以下方法注销
[QBUsers logOutWithDelegate:self];
点击按钮及其委托(delegate)方法:
- (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:] -> 返回。已经登录
如何解决这个问题?或者实现登录/注销流程的最佳做法是什么?
最佳答案
根据SDK引用,存在session,只需用户登录并登录即可聊天。
1) 您需要创建 session 。您可以简单地创建它:
[QBAuth createSessionWithDelegate:self];
或扩展请求:
QBASessionCreationRequest *extendedAuthRequest = [QBASessionCreationRequest request];
extendedAuthRequest.userLogin = @"garry";
extendedAuthRequest.userPassword = @"garrySant88";
[QBAuth createSessionWithExtendedRequest:extendedAuthRequest delegate:self];
(如果您使用扩展请求创建 session ,则传递第二个操作)
2) 执行简单登录
[QBUsers logInWithUserLogin:currentUser password:pass delegate:self]
3) 之后使用聊天:
[[QBChat instance] loginWithUser:currentUser];
对于注销,您应该按后退顺序执行注销方法。
[[QBChat instance] logout];
在那之后:
[QBUsers logOutWithDelegate:self];
和:
[QBAuth destroySessionWithDelegate:self];
session 的娱乐不一定。您可以创建一个 session 并多次登录/注销。
关于QuickBlox : Already logged in Error after Logout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20698761/
最近我将 sonarqube 从 4.0 升级到 4.3.3。升级后当我尝试运行 maven 构建时出现错误: Failed to execute goal org.codehaus.mojo:son
在下面的类中: class TestClass { public: int staic testMember; }; int TestClass::testMember; 我遇到了以下编译器
我以前也遇到过这个错误,但这次有点不同。 当我向 Forge 推送更新时,Laravel Forge 说它部署失败,但它部署得很好。由于此错误,它只是没有对数据库结构进行任何更改: [Doctrine
此错误显然源于 xlsxwriter。我不确定它来自我的代码的哪一行,因为每次我尝试调试时,我的编辑器 Visual Studio 2019 都会崩溃。但是,在使用 VPN 和远程桌面连接时,我在笔记
我自己尝试将magento版本1.9.1升级到1.9.2.2 引用链接:http://www.hostknox.com/tutorials/magento/upgrade-with-connect-m
这是我的迁移表 increments('id'); $table->integer('role_id')->unsigned(); $table
注册表要求提供用户名和电子邮件地址。数据通过验证后,将添加到 accounts 表中。它存储用户名、密码和电子邮件地址等数据。如果用户名已被占用,用户将收到通知,并且不会将任何数据添加到表中。它被视为
规范: Laravel 版本:5.4PHP版本:7.0.9 Composer 版本 1.9.0XAMP 描述: 在 Connection.php 第 647 行: SQLSTATE[42S01]: 基
当我迁移一个表时,我看到了这个错误, SQLSTATE[42S01]: Base table or view already exists: 1050 Table 'payments' already
问题现场: 原因: HttpServletRequest 的 getInputStream() 和 getReader() 都只能读取一次。 因为 我们使用@RequestBody 注解,读取body
mysql新手。尝试创建我在本教程中看到的存储过程:http://www.microshell.com/database/mysql/emulating-nextval-function-to-get
我只是尝试使用 TortoiseSVN 添加和提交大约 25,000 个文件到 VisualSVN。 提交对话框被锁定(我猜是预料之中的),但是在线程被阻塞一段时间后,我杀死了 Tortoise,希望
我有一个 scala 项目,当从命令行使用 SBT 时,它可以正常编译、运行和测试。但是,在intellij中构建项目时,项目中的每个类的事件日志中似乎都有此错误,导致构建失败: SendComman
当尝试将更改提交到存储库(我是唯一的用户)时,我收到错误 Path '/trunk/TemplatesLibrary/constraints/templates/TP145210GB01_Person
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin
我正在使用 Metro 2.0.1 作为安全连接到 WCF 服务的客户端应用程序。在我的单元测试中一切正常,但是当我在 Java 应用程序中调用该方法时,出现以下异常: Exception in th
我正在使用 azure-documentdb java SDK为了创建和使用“用户定义函数 (UDF)” 因此来自 official documentation我终于找到了如何创建 UDF 的方法(使
我有一个 JButton,按下时会启动倒计时器。当我按下按钮时,它开始,当我再次按下它时(按钮会说“停止”),它停止。但是,当我再次按下它再次开始计时时,我收到一条错误消息: Exception in
通过设置 innerHTML 插入的脚本,以及调用 element.cloneNode(true) 等其他一些情况将生成具有内部“已启动”标志集的脚本为真。 The first is a flag i
我是一名优秀的程序员,十分优秀!