2015-11-04 86 views
0

當前使用Quickblox iOS SDK v2.4.6,但之前在早期版本中存在此問題。Quickblox iOS:在應用程序處於後臺時連接到QBChat錯誤

連接到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 

,它是有效的。

那麼我該如何處理這個問題呢?

回答

0

From the documentations: 默認情況下,當連接到服務器丟失時,iOS SDK不會自動重新連接。你必須手動管理這個。

但有一種方法,使自動重新連接:

[QBSettings setAutoReconnectEnabled:YES]; 

所以使用這個代碼片段支持自動重新連接。

相關問題