【发布时间】:2016-04-17 12:06:00
【问题描述】:
设置
我正在使用此代码发送好友/名册请求:
[[[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 管理面板中可见。此外,如果从管理面板添加用户,则客户端不会发生任何事情(即应该接收请求的用户。)。
【问题讨论】: