我们正在使用Amazon Ubuntu Server,Apache和PHP安装的Openfire版本4.0.1,应用程序配置是XCode 7.2,使用Swift和我们使用的库是版本3.6.6的XMPP Framework。 我们可以进行单文本聊天,但无法存储聊天记录 - 我们如何维护聊天记录并检索它。
答案 0 :(得分:4)
在该模型中添加您的实体。 那可能是你的情况
.h file @property (nonatomic, retain) NSNumber * createdAt; .m file @dynamic createdAt;
现在您可以使用:核心数据操作方法,如保存NS管理对象等,以便在DB上保存或进行其他操作。
例如:使用全名属性保存数据库中的联系人。
DBHandler * dbHandler = [DBHandler sharedInstance];
DB_CONTACT* existingContact = [self getContactByKey:@"userId" value:[userContact userId]]; if (existingContact) { return false; } BOOL result = NO;
DB_CONTACT * contact = 的 [NSEntityDescription insertNewObjectForEntityForName:@ “DB_CONTACT”
inManagedObjectContext:dbHandler.managedObjectContext]; 强>contact.fullName = userContact.fullName; NSError *error = nil; result = [dbHandler.managedObjectContext save:&error]; if (!result) { NSLog(@"DB ERROR :%@",error); } return result;
负责保存在DB中的方法:
<强> [NSEntityDescription
insertNewObjectForEntityForName:@ “DB_CONTACT”
inManagedObjectContext:dbHandler.managedObjectContext]; 强>
希望这会给你一个想法。有关详细信息,请将https://github.com/AppLozic/Applozic-iOS-SDK视为示例应用以进行消息传递。
答案 1 :(得分:0)
如果您想维护聊天本地历史记录,可以使用coredata以正确的顺序保存所有传入和发送消息。 要恢复聊天记录,请使用coredata中的XMPPUserName(from和to)等参数。 要查看openfire服务器上的历史记录,您可以: 安装Monitoring Server插件 转到“存档”选项卡 选择他们的设置并启用“存档一对一聊天”