Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.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服务器中存储聊天历史记录_Ios_Xmpp - Fatal编程技术网

在ios应用程序中的xmpp服务器中存储聊天历史记录

在ios应用程序中的xmpp服务器中存储聊天历史记录,ios,xmpp,Ios,Xmpp,有没有办法将聊天记录永久保存到xmpp服务器。 i、 e如果我卸载应用程序并再次安装,我是否能够从服务器恢复所有聊天 我使用以下代码:- XMPPMessageArchivingCoreDataStorage *_xmppMsgStorage = [XMPPMessageArchivingCoreDataStorage sharedInstance]; NSManagedObjectContext *moc = [_xmppMsgStorage mainThreadManagedO

有没有办法将聊天记录永久保存到xmpp服务器。 i、 e如果我卸载应用程序并再次安装,我是否能够从服务器恢复所有聊天

我使用以下代码:-

  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, userJid];
    request.predicate = predicate;
    NSArray *messages = [moc executeFetchRequest:request error:&error];

但在这种情况下,如果我卸载应用程序,消息将被删除。

您可以将其保存在钥匙链中,即使您删除应用程序,数据也将被保存。但在钥匙链中保存大量数据不是一个好主意,因为这样会有点慢。@rckoenes感谢您的快速回复。还有其他方法吗?因为钥匙链有助于存储用户名、密码等有限的数据。我需要保存文本、图像、音频文件等,因为如果应用程序被删除,沙盒将被删除。由于您只能在沙箱中保存文件。如果您将日志保存在iCloud中,这可能会起作用,但这也不是最佳解决方案。@rckoenes我们可以使用API存储历史记录。但我无法理解应该以何种格式存储数据或将数据发送到API?这取决于API。