iOS XMPP永远不会收到任何好友/名册请求

时间:2016-04-17 12:06:01

标签: ios xmpp

设置

我使用此代码发送朋友/名单请求:

[[[XMPPController sharedObject] roster] addUser:[XMPPJID jidWithString:[user stringByAppendingString:@"@server.com"]] withNickname:nil];

我可以确认在ejabberd Web Admin控制面板中发送了请求。此外,请求在流委托方法中返回:

- (BOOL)xmppStream:(XMPPStream *)sender didReceiveIQ:(XMPPIQ *)iq

作为确认。

我在这里阅读了多个问题,请求应该在委托方法中处理:

- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence

替代地

- (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence

问题

问题是,一旦发送请求,这些方法都不会被调用。

上测试
  • iPhone 5(iOS 9.3.1)
  • iPhone模拟器(iOS 9.3)

从任一设备发送都不会成功。

注释

我可以确认好友请求已发送,因为它在ejabberd管理面板中可见。此外,如果从管理面板添加用户,则客户端没有任何事情发生(应该接收请求的那个,即。)。

1 个答案:

答案 0 :(得分:2)

未调用方法- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence- (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence ,因为您未发送任何XMPPPresence