注册
iOS

我在环信登录成功的回调中插入了一条消息,但是数据库中并没有这一条消息请问是为什么?

[[EMClient sharedClient] loginWithUsername:xxx password:xxx completion:^(NSString *aUsername, EMError *aError) {

                if (!aError) {

                    //环信登录 成功

                    NSLog(@"用户名为 --- %@",aUsername);
                    EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:@"对方的Id" type:0 createIfNotExist:YES];

                    EMTextMessageBody *body = [[EMTextMessageBody alloc] initWithText:@"感谢您的注册"];

        
                   //生成Message

                    EMMessage *message1 = [[EMMessage alloc] initWithConversationID:conversation.conversationId from:[EMClient sharedClient].currentUsername to:conversation.conversationId body:body ext:nil];

                    message1.direction = 1;

                    message1.isRead = NO;

                    message1.status = EMMessageStatusSuccessed;

                    message1.chatType = EMChatTypeChat;// 设置为单聊消息
                    [[EMClient sharedClient].chatManager importMessages:@[message1] completion:^(EMError *aError) {

                    }];
                }

                else{

                    //环信登录失败

                    NSLog(@"环信登录失败 ---- %@",aError.errorDescription);

                }

            }];
代码如上所示,但是在数据库中并不能找到这条消息,所有回调的error都是nil,请问是为什么?sdk的版本是3.x
已邀请:
 插入消息方法换一下 [[EMClient sharedClient].chatManager importMessages:@[message1] completion:^(EMError *aError) {

                    }];换成 [conversation insertmessage:]

[已注销]

赞同来自: waxhr123

importMessages是导入批量消息的,不会把会话更新到内存来刷新UI,需要重新登录才可以获取到.
insertmessage和append都可以直接更新到内存来刷新UI.

要回复问题请先登录注册