【问题标题】:XMPPFramework - How can I get a list of online and offline friends?XMPPFramework - 如何获取在线和离线好友列表?
【发布时间】:2014-07-02 03:43:47
【问题描述】:

如何在 iOS 中使用 XMPPFramework 获取在线和离线好友列表?

我想向用户发送好友请求。那么我该如何实现呢?有人可以为我分享一些示例代码吗?

谢谢。

【问题讨论】:

标签: ios xmpp xmppframework


【解决方案1】:

通过使用这些方法,您将收到整个用户在线/离线、添加、删除、更新等的通知。通过使用这些方法,您可以更新您的联系人列表

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender didAddUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender didUpdateUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender didRemoveUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender
    didAddResource:(XMPPResourceMemoryStorageObject *)resource
          withUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender
 didUpdateResource:(XMPPResourceMemoryStorageObject *)resource
          withUser:(XMPPUserMemoryStorageObject *)user

- (void)xmppRoster:(XMPPRosterMemoryStorage *)sender
 didRemoveResource:(XMPPResourceMemoryStorageObject *)resource
          withUser:(XMPPUserMemoryStorageObject *)user

// 添加好友

- (void)addContactWithUserName:(NSString *)userName andNickName:(NSString *)nickName;
{
    if(userName)
    {
        XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",userName,self.hostName]];
        if(nickName)
        {
            [_xmppRoster addUser:jid withNickname:nickName];
        }
        else
        {
            [_xmppRoster addUser:jid withNickname:nil];
        }
    }
else
{
    NSLog(@"missing userName");
}
}

【讨论】:

  • 感谢重播...但是,从您列出的哪个方法,我必须调用 addcontactwithusername 方法
  • 你能详细解释一下吗
  • 我在谷歌上搜索过,我们必须调用 didReceivePresence 方法来获取我们朋友的存在。是真的吗?
  • 我们可以通过多种方式实现 XMPP。我认为这也是正确的
  • 这意味着我必须从 didReceivePresence 调用 addContactWithUserName 方法。是吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-02-14
  • 1970-01-01
相关资源
最近更新 更多