通过iOS中的XMPP MessageArchiving保存XMPP多用户聊天信息
我正在使用XMPP在iOS中开发聊天应用程序。到目前为止,我已经成功地实现并测试了单用户聊天场景,即发送、接收、保存和检索消息 em现在面临的问题是,现在在处理多用户聊天场景时,em接收到它,但无法使用XMPP MessageArchiving保存它们,因此也无法检索它们 有人经历过这个过程/问题吗通过iOS中的XMPP MessageArchiving保存XMPP多用户聊天信息,ios,core-data,xmpp,xmppframework,Ios,Core Data,Xmpp,Xmppframework,我正在使用XMPP在iOS中开发聊天应用程序。到目前为止,我已经成功地实现并测试了单用户聊天场景,即发送、接收、保存和检索消息 em现在面临的问题是,现在在处理多用户聊天场景时,em接收到它,但无法使用XMPP MessageArchiving保存它们,因此也无法检索它们 有人经历过这个过程/问题吗 提前感谢带有groupchat类型的消息可能会保存在XMPPRoom.xcdatamodel中,您需要在xmpp设置中初始化XMPPRoomCoreDataStorage,如下所示: XMPPRoo
提前感谢带有
groupchat
类型的消息可能会保存在XMPPRoom.xcdatamodel
中,您需要在xmpp设置中初始化XMPPRoomCoreDataStorage
,如下所示:
XMPPRoomCoreDataStorage*xmppRoomStorage=[[XMPPRoomCoreDataStorage alloc]init]代码>
因此,该类实现了一种方法,将所有messages ROOM插入正确的数据模型中(在本例中,所有传出和传入的消息都保存在XMPPRoom.xcdatamodel中)
-(void)insertMessage:(XMPPMessage*)消息
外向的:(BOOL)我要走了
客房:(XMPPRoom*)客房
流:(XMPPStream*)XMPPStream
更多XEP-0045信息您可以使用此代码保存房间信息
NSString *xmppRoomJIDString = [NSString stringWithFormat:@"%@@conference.your_host", @"your_room_name"];
XMPPJID *roomJID = [XMPPJID jidWithString:xmppRoomJIDString];
XMPPRoomCoreDataStorage *roomCoreDataStorage = [XMPPRoomCoreDataStorage sharedInstance];
XMPPRoom *xmppRoom = [[XMPPRoom alloc]
initWithRoomStorage:roomCoreDataStorage
jid:roomJID
dispatchQueue:dispatch_get_main_queue()];
[xmppRoom activate:xmppStream];
[xmppRoom addDelegate:self delegateQueue:dispatch_get_main_queue()];
[xmppRoom joinRoomUsingNickname:@"your_nicke_name" history:nil];
[xmppRoom fetchConfigurationForm];
嘿,艾哈迈德-从8月份以来,你有没有进一步了解这一点?是的,我已经成功地实现了多用户聊天场景..我必须自定义我的消息包。。在其中添加地址标签,从“from”标签中删除我的id,并将其替换为“multicast.severname”。。“再加上一些小的调整。”艾哈迈兹。我已经成功地测试了一对一聊天发送和接收消息,但没有使用XMPP MessageArchiving保存和检索这些消息,因为无法使用persistancecordinator@RohitPathak你问的是单人一对一聊天吗?