我们使用的是亚马逊Ubuntu服务器,安装了Openfire 4.0.1版本的Apache和PHP,应用程序配置是使用Swift的XCode 7.2,我们使用的库是3.6.6版本的XMPP Framework。我们可以进行单文本聊天,但不能存储聊天历史记录-我们如何维护聊天历史记录并检索它。
发布于 2016-04-01 15:18:25
- MESSAGE entity
- CONTACT entity
- etc (whatever you want to save )
- For each entity in your DB model, you can now add "Attributes" in your Entity (say MESSAGE entity). Attributes can be _created time_, _message text_ etc.
- Make a NSObject extended class which have properties same as your attributes.h文件@property (非原子,保留) NSNumber * createdAt;.m文件@动态createdAt;
现在您可以使用:核心数据操作方法,如保存NS托管对象等来保存或在DB上进行其他操作。
例如:在数据库中保存具有全名属性的联系人。
DBHandler * dbHandler = DBHandler sharedInstance;
DB_CONTACT* existingContact = [self getContactByKey:@"userId“value:userContact userId];if (existingContact) { return false;} BOOL result = NO;
联系人* insertNewObjectForEntityForName:@"DB_CONTACT" = [NSEntityDescription contact
inManagedObjectContext:dbHandler.managedObjectContext];
contact.fullName = userContact.fullName;NSError *error = nil;result = dbHandler.managedObjectContext保存:& ERROR;if (!result) { NSLog(@"DB error :%@",error);}返回结果;
负责保存在数据库中的方法:
[NSEntityDescription insertNewObjectForEntityForName:@"DB_CONTACT"
inManagedObjectContext:dbHandler.managedObjectContext];
希望这篇文章能给你一些启发。有关更多详细信息,请查看https://github.com/AppLozic/Applozic-iOS-SDK作为消息传递示例应用程序。
发布于 2016-03-31 00:30:05
如果您想要维护聊天本地历史记录,您可以使用coredata来保存所有传入的消息并按正确的顺序发送消息。要恢复聊天历史记录,请使用核心数据中的XMPPUserName (from和to)等参数。要查看openfire服务器上的历史记录,您可以:安装监控服务器插件,转到选项卡“存档”选择其设置并启用“存档一对一聊天”
https://stackoverflow.com/questions/36285028
复制相似问题