保存离线/断开连接的名单建议

时间:2013-08-12 10:44:13

标签: ios objective-c core-data xmpp xmppframework

我从XMPPFramework for iOS下载了SampleProject并将其连接到我的Jabber Server。一切都好。

但即使我已断开连接(连接丢失),我也希望让我的伙伴留在Buddys概述中。那可能吗?据我所知,XMPPCoreStorage将它们保存在CoreData中。为什么要断开连接清洁?是否有可能在断开连接时禁用清洁?我很难找到这个方法。

会非常讨厌&如果它不是持久性的话会有多少流量?

任何帮助都会很棒!

1 个答案:

答案 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内容..