Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过iOS中的XMPP MessageArchiving保存XMPP多用户聊天信息_Ios_Core Data_Xmpp_Xmppframework - Fatal编程技术网

通过iOS中的XMPP MessageArchiving保存XMPP多用户聊天信息

通过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

我正在使用XMPP在iOS中开发聊天应用程序。到目前为止,我已经成功地实现并测试了单用户聊天场景,即发送、接收、保存和检索消息

em现在面临的问题是,现在在处理多用户聊天场景时,em接收到它,但无法使用XMPP MessageArchiving保存它们,因此也无法检索它们

有人经历过这个过程/问题吗


提前感谢

带有
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你问的是单人一对一聊天吗?