为iOS实施Ejabberd MUC Sub

时间:2017-05-11 07:41:34

标签: ios ejabberd multiuserchat

我们正在实施一个聊天系统,允许用户在未连接到MUC组时接收消息/通知,我知道Ejabberd从16.08开始通过此文档支持它: https://docs.ejabberd.im/developer/xmpp-clients-bots/proposed-extensions/muc-sub/#list-of-subscriptions 但是我找不到iOS实现的任何示例 我想知道是否有人在iOS上实现了这个功能,或者是否有任何实现此功能的指南

1 个答案:

答案 0 :(得分:0)

将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

相关问题