"不可用"(离线)状态不在两端更新

时间:2017-01-03 02:52:36

标签: ios objective-c xmppframework

我在- (void)blockJID:(XMPPJID*)xmppJID

中使用了XMPPBlocking方法
<iq from='juliet@capulet.com/chamber' type='set' id='block1'>
      <block xmlns='urn:xmpp:blocking'>
         <item jid='romeo@montague.net'/>
      </block>
    </iq>

我想在xmpp应用程序中阻止用户(如whatsapp)。当我使用上面的代码时,&#34;不可用&#34;存在不在两端更新。但重新连接后,它会更新&#34;不可用&#34;存在于两端。

当我阻止用户时,我的要求是,

  • 用户不应该在两端收到消息(它完全没有重新连接)
  • 用户应该是&#34;不可用&#34; (当我执行IQ以上时,另一端没有收到任何东西,所以只有在重新连接后才能工作)

如何在阻止后相互通知离线状态? 我怎样才能以正确的方式实现这一目标?

1 个答案:

答案 0 :(得分:0)

最后我完成了。

对于代码下方使用的通知伙伴(其他最终用户),

XMPPPresence *presence = [[XMPPPresence alloc] initWithType:@"unavailable" to:jid]; 
[_xmppStream sendElement:presence];

好友的存在在发送方本地更新。

对于unblock case,我只是再次订阅好友(其他最终用户)。

我不知道它是否正确。我总是在等待大家的完美解决方案。