iOS:XMPP:群聊消息的消息存档 [英] iOS: XMPP: Message Archiving for Group Chat Message
本文介绍了iOS:XMPP:群聊消息的消息存档的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
所有一对一聊天都以消息类型作为聊天发送。
因此,消息存档技术(如下所示)可以很好地保存/检索聊天记录。
All one-one chat is send with Message Type as Chat. Thus the Message Archiving technique (shown below) worked fine for me to save/retrieve chat history.
// Setup message archiving
xmppMessageArchivingStorage = [XMPPMessageArchivingCoreDataStorage sharedInstance];
xmppMessageArchiving = [[XMPPMessageArchiving alloc] initWithMessageArchivingStorage:xmppMessageArchivingStorage];
[xmppMessageArchiving setClientSideMessageArchivingOnly:YES];
// Activate xmpp modules
[xmppMessageArchiving activate:xmppStream];
// Add delegate
[xmppMessageArchiving addDelegate:self delegateQueue:dispatch_get_main_queue()];
但是对于群聊,发送的消息类型是groupchat
这不会被XMPPMessageArchivingCoreDataStorage存档
However for Group Chat, the message type sent is "groupchat" This will not be archived by the XMPPMessageArchivingCoreDataStorage
有人可以指导我如何可以实现群聊消息的消息存档。
Can someone please guide me as to how I can achieve the Message Archiving for Group Chat Message.
推荐答案
您可以轻松地从xmpp核心数据库获取存档消息。使用下面的代码。
You can easily get archive messages from xmpp core database. Use Below code.
XMPPMessageArchivingCoreDataStorage *_xmppMsgStorage = [XMPPMessageArchivingCoreDataStorage sharedInstance];
NSManagedObjectContext *moc = [_xmppMsgStorage mainThreadManagedObjectContext];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"XMPPMessageArchiving_Message_CoreDataObject"
inManagedObjectContext:moc];
NSFetchRequest *request = [[NSFetchRequest alloc]init];
[request setEntity:entityDescription];
//[request setFetchLimit:20];
NSError *error;
NSString *predicateFrmt = @"bareJidStr == %@";
NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateFrmt, [NSString stringWithFormat:@"%@%@",GroupName,GROUP_CHAT_DOMAIN]];
request.predicate = predicate;
NSArray *messages = [moc executeFetchRequest:request error:&error];
这篇关于iOS:XMPP:群聊消息的消息存档的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文