【发布时间】:2015-08-14 06:12:10
【问题描述】:
我用 eJabbered 创建了一个 XMPP Swift Messenger,但它不保存历史记录。
我搜索了很多,只能在 Stack 中找到用 ObjC 编写的答案。
例如:
- (void)loadChatHistoryWithUserName:(NSString *)userName {
NSString *userJid = [NSString stringWithFormat:@"%@@%@",userName,self.hostName];
NSManagedObjectContext *moc = [_xmppMsgStorage mainThreadManagedObjectContext];
NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"XMPPMessageArchiving_Message_CoreDataObject"
inManagedObjectContext:moc];
NSFetchRequest *request = [[NSFetchRequest alloc]init];
[request setEntity:entityDescription];
NSError *error;
NSString *predicateFrmt = @"bareJidStr == %@";
NSPredicate *predicate = [NSPredicate predicateWithFormat:predicateFrmt, userJid];
request.predicate = predicate;
NSArray *messages = [moc executeFetchRequest:request error:&error];
}
但我使用 XMPP Swift 框架和内部的 XMPP ObjC 框架。看看这个 Git:GitHub
如何在 Swift 中使用这些 sn-p 来获取聊天记录?
【问题讨论】:
标签: ios objective-c swift xmpp messenger