Ios 保存脱机/断开连接的花名册
我从xmppframeworkforios下载了SampleProject,并将其连接到我的Jabber服务器。一切都好 但是我想让我的好友留在好友概览中,即使我已断开连接(连接丢失)。可能吗?据我所知,XMPPCoreStorage将它们保存在CoreData中。为什么要在断开连接时进行清洁?是否可以在断开时禁用清洁?很遗憾,我没有找到这个方法 如果不是持续性的,会很烦人&会有很多流量吗Ios 保存脱机/断开连接的花名册,ios,objective-c,core-data,xmpp,xmppframework,Ios,Objective C,Core Data,Xmpp,Xmppframework,我从xmppframeworkforios下载了SampleProject,并将其连接到我的Jabber服务器。一切都好 但是我想让我的好友留在好友概览中,即使我已断开连接(连接丢失)。可能吗?据我所知,XMPPCoreStorage将它们保存在CoreData中。为什么要在断开连接时进行清洁?是否可以在断开时禁用清洁?很遗憾,我没有找到这个方法 如果不是持续性的,会很烦人&会有很多流量吗 任何帮助都会很好 所以我想出了一个解决方案: 在XMPPRoster.m xmppStreamDidDis
任何帮助都会很好 所以我想出了一个解决方案: 在XMPPRoster.m xmppStreamDidDisconnect上: 我注释了4行。现在看起来是这样的:
- (void)xmppStreamDidDisconnect:(XMPPStream *)sender withError:(NSError *)error
{
// This method is invoked on the moduleQueue.
XMPPLogTrace();
// [xmppRosterStorage clearAllUsersAndResourcesForXMPPStream:xmppStream];
//
// [self _setRequestedRoster:NO];
// [self _setHasRoster:NO];
//
// [earlyPresenceElements removeAllObjects];
}
因此,它不会清除断开连接时的存储。在重新连接时,它将清理存储并用更新的信息重新填充存储。希望它能帮助其他人。这不是一个完美的解决方案。首选的方法是构建您自己的CoreData模型,并在其中获取XMPP内容。因此我提出了一个解决方案: 在XMPPRoster.m xmppStreamDidDisconnect上: 我注释了4行。现在看起来是这样的:
- (void)xmppStreamDidDisconnect:(XMPPStream *)sender withError:(NSError *)error
{
// This method is invoked on the moduleQueue.
XMPPLogTrace();
// [xmppRosterStorage clearAllUsersAndResourcesForXMPPStream:xmppStream];
//
// [self _setRequestedRoster:NO];
// [self _setHasRoster:NO];
//
// [earlyPresenceElements removeAllObjects];
}
因此,它不会清除断开连接时的存储。在重新连接时,它将清理存储并用更新的信息重新填充存储。希望它能帮助其他人。这不是一个完美的解决方案。首选的方法是构建您自己的CoreData模型并在其中获取XMPP内容。在新版本中有:xmppRoster.autoClearAllUsersAndResources=NO;新版本中有:xmppRoster.autoClearAllUsersAndResources=NO;