我从XMPPFramework for iOS下载了SampleProject并将其连接到我的Jabber Server。一切都好。
但即使我已断开连接(连接丢失),我也希望让我的伙伴留在Buddys概述中。那可能吗?据我所知,XMPPCoreStorage将它们保存在CoreData中。为什么要断开连接清洁?是否有可能在断开连接时禁用清洁?我很难找到这个方法。
会非常讨厌&如果它不是持久性的话会有多少流量?
任何帮助都会很棒!
答案 0 :(得分:3)
所以我想出了一个解决方案:
在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内容..