Swift,QuickBlox错误域= com.quickblox.chat代码= -1004“(null)”

Him*_*shu 1 ios quickblox swift

我正在尝试通过QUICKBLOX并在编译我的加入小组代码后加入一个小组。向我显示此错误。

(Error Domain=com.quickblox.chat Code=-1004 "(null)" UserInfo={NSLocalizedRecoverySuggestion=You have to be connected to Chat in order to use Chat API.})
Run Code Online (Sandbox Code Playgroud)

我的代码是:-

let groupChatDialog: QBChatDialog = QBChatDialog(dialogID: "57442b84a28f9a759100000e", type: QBChatDialogType.Group)
self.groupChatDialog.joinWithCompletionBlock { (error: NSError?) -> Void in
             print(error)
Run Code Online (Sandbox Code Playgroud)

任何人都知道这是什么问题。

San*_*ari 5

Himanshu,

错误说明明确指出,加入任何组对话框之前,您必须先登录才能聊天。

如果您不知道,Quickblox将使用两个会话

  1. 用户会话:

通过使用与服务器建立的会话

[QBRequest logInWithUserLogin:"quickblox_user_name" password: "quickblox_password" successBlock:^(QBResponse *response, QBUUser *user) {

 } errorBlock:^(QBResponse *response) {

}];
Run Code Online (Sandbox Code Playgroud)

这只会将您的用户认证为有效的quickblox用户。

Docs明确表示,要接收无缝消息/聊天,您必须登录聊天会话。

  1. 聊天会话:

会话将允许您发送和接收实时聊天,也将允许您加入组对话框。

[[QBChat instance] connectWithUser:user completion:^(NSError * _Nullable error) {
}];
Run Code Online (Sandbox Code Playgroud)

一旦触发connectWithUser的完成块,请尝试加入对话框。对话框将毫无问题地加入。