我一直在使用iOS客户端https://github.com/robbiehanson/XMPPFramework
在客户端成功安装ejabberd并在服务器上启用存档模式,能够发送和接收消息。
我的问题是如何获取旧邮件并同步到我的本地核心数据。我已经阅读了框架支持,它部分支持XEP-0136。
我将能够从服务器制作任何自定义API以获取消息并在本地同步。 但我没有得到任何常见的消息ID,因此我会同步。
如果有人知道同步。请告诉我。
答案 0 :(得分:0)
嗨我已经在(http://xmpp.org/xmpp-protocols/xmpp-extensions/)教程的xmpp中做了很多事情,你可以从bellow github链接获得示例,你可以从中得到很多帮助
(演示链接:) https://github.com/sesharim/ios-jabber-client
https://github.com/funkyboy/Building-a-Jabber-client-for-iOS
(xmmp项目演示链接:)
https://github.com/chrisballinger/ChatSecure-iOS
我希望它能帮助你...
您可以从上面的演示程序中获取如何获取旧消息和用户列表以及其他详细信息。
答案 1 :(得分:0)
仔细阅读XEP-0136 - 介绍如何检索现有档案。
实际上,XMPPFramework已经实现了存储所有普通传入消息 - 您只需要使用XMPPMessageArchiving
初始化XMPPMessageArchivingCoreDataStorage
并激活XMPPStream
上的模块。然后,您可以在[XMPPMessageArchiving mainThreadManagedObjectContext]
上执行核心数据提取请求。如果要检索以前存档的消息,您应该稍微扩展一下XMPPFramework:
[XMPPMessageArchiving archiveMessage:]
结果集中的每条消息,XMPPFramework将完成剩余的工作 - 插入核心数据存储 - 为您服务。