【问题标题】:Quickblox iOS: connecting to QBChat after app was in background errorQuickblox iOS:在应用程序处于后台错误后连接到 QBChat
【发布时间】:2015-11-04 21:34:45
【问题描述】:

目前使用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 工作正常,即使在应用程序进入后台并在数十分钟后返回前台后,应用程序仍然连接到 QBChat。但是经过足够长的时间(可能是几个小时)后,当应用程序返回前台并尝试连接到 QBChat 时,我收到了

-(void)chatDidNotConnectWithError:(NSError *)error

带有错误代码401 和描述Password not verified

我还检查会话令牌是否有效:

[QBSession currentSession].tokenValid

它是有效的。

那么我该如何处理这个问题呢?

【问题讨论】:

    标签: ios objective-c quickblox


    【解决方案1】:

    From the documentations: 默认情况下,当与服务器的连接丢失时,iOS SDK 不会自动重新连接。您必须手动管理。

    但是有一种方法可以启用自动重新连接:

    [QBSettings setAutoReconnectEnabled:YES];
    

    所以使用这段代码sn-p来支持自动重连。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-27
      • 1970-01-01
      • 2017-03-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 1970-01-01
      相关资源
      最近更新 更多