为 iOS 实现 Ejabberd MUC Sub
Posted
技术标签:
【中文标题】为 iOS 实现 Ejabberd MUC Sub【英文标题】:Implement Ejabberd MUC Sub for iOS 【发布时间】:2017-05-11 07:41:33 【问题描述】:我们正在实施一个聊天系统,允许用户在未连接到 MUC 组时接收消息/通知,我知道 Ejabberd 从 16.08 开始通过以下文档支持它: https://docs.ejabberd.im/developer/xmpp-clients-bots/proposed-extensions/muc-sub/#list-of-subscriptions 但是我找不到 ios 实现的任何示例 我想知道是否有人在 iOS 上实现了这个功能,或者有什么指南来实现这个
【问题讨论】:
这个有什么更新吗?我也在寻找实现这一点的方法,任何帮助将不胜感激 【参考方案1】:将 XMPPMUCSub.h 和 .m 文件包含到您的项目中。
现在连接 xmppstream 后激活 XMPPMUCSub 服务以进行激活,使用下面的代码。
xmppMucSub = [[XMPPMUCSub alloc] initWithDispatchQueue:dispatch_get_main_queue()];
[xmppMucSub activate:xmppStream];
[xmppMucSub addDelegate:self delegateQueue:dispatch_get_main_queue()];
现在您必须为方法检查类实现 XMPPMUCSub 的委托方法并实现它。
现在,当您创建新的 xmpproom 时,您需要调用以下方法。
[xmppMucSub supportedBy:<Your xmpproom>];
如果服务支持则在委托方法调用下方,您需要订阅它。
- (void)xmppMUCSub:(nonnull XMPPMUCSub *)sender serviceSupportedBy:(nonnull XMPPJID *)room
NSLog(@"serviceSupportedBy:-%@", room);
[xmppMucSub subscribeTo:room nick:[xmppStream.myJID user] password:nil];
欲了解更多信息,请参阅下面的链接。
https://github.com/Digithurst/XMPPFramework/tree/master/Extensions/MUC-Sub
【讨论】:
欢迎提供解决方案链接,但请确保您的答案在没有它的情况下有用:add context around the link 这样您的其他用户就会知道它是什么以及为什么会出现,然后引用最相关的您链接到的页面的一部分,以防目标页面不可用。 Answers that are little more than a link may be deleted.以上是关于为 iOS 实现 Ejabberd MUC Sub的主要内容,如果未能解决你的问题,请参考以下文章
如何在 ejabberd 上为 muc(多用户聊天)设置不同的消息间隔?
Ejabberd muc_rooms 和 muc_registered 表为空