目前正在使用Quickblox iOS SDK
v2.4.6,但之前在早期版本中遇到此问题。
连接到QBChat:
[[QBChat instance] connectWithUser:self.qbUserForChatLogin];
连接用户:
-(QBUUser *)qbUserForChatLogin
{
QBUUser *user = [QBUUser user];
user.ID = ... //setting correct ID here
user.password = [QBSession currentSession].sessionDetails.token;
return user;
}
我正在使用Facebook身份验证,因此请将会话令牌设置为密码,如下所示:http://quickblox.com/developers/Chat#Login_.2F_ID
因此,在应用程序启动和授权连接到QBChat工作正常后,甚至在应用程序进入后台并在几十分钟内返回前台后,app仍然连接到QBChat。但经过足够长的时间(可能是几个小时),当应用程序回到前台并尝试连接到我收到的QBC时
-(void)chatDidNotConnectWithError:(NSError *)error
错误代码401
和说明Password not verified
。
我还检查会话令牌是否有效:
[QBSession currentSession].tokenValid
并且有效。
那我该如何处理这个问题?
答案 0 :(得分:0)
From the documentations: 默认情况下,当与服务器的连接丢失时,iOS SDK不会自动重新连接。你必须手动管理它。
但是有一种方法可以启用自动重新连接:
[QBSettings setAutoReconnectEnabled:YES];
因此,请使用此代码段来支持自动重新连接。