XMPPFramework — как я могу получить список онлайн- и офлайн-друзей?

#ios #xmpp #xmppframework

#iOS #xmpp #xmppframework

Вопрос:

Как я могу получить список друзей онлайн и офлайн с помощью XMPPFramework в iOS?

Я хочу отправить запрос на добавление в друзья пользователю. Итак, как я могу этого добиться? Может кто-нибудь поделиться некоторыми примерами кодов для меня?

Спасибо.

Комментарии:

1. Ваше требование примерно такое: вы хотите показывать всех автономных и онлайн-пользователей отдельно, и если кто-то выходит в Интернет / офлайн, это нужно отразить.r8?

2. если вы хотите получить ответ, дайте мне знать подробности.

3. да, я хочу такого рода вещи…

4. Пример кода для извлечения списка можно найти в примере приложения для iPhone в XMPPFramework: XMPPFramework / Xcode / iPhoneXMPP / Classes / RootViewController.m

5. @Vats Вот и все: Robbiehanson / XMPPFramework / Xcode / Examples / iPhoneXMPP / Classes / RootViewController.m

Ответ №1:

Используя эти методы, вы получите уведомление о том, что пользователь переходит в онлайн / оффлайн режим, добавлен, удален, обновлен etc.by используя эти методы, вы можете обновить свой список контактов

 - (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");
}
}
  

Комментарии:

1. Спасибо за воспроизведение… Но из того метода, который вы указали, я должен вызвать метод addcontactwithusername

2. Можете ли вы объяснить подробно

3. Я искал в Google, что мы должны вызвать метод didReceivePresence, чтобы получить присутствие нашего друга. это правда?

4. Мы можем реализовать множество способов XMPP.я думаю, это тоже верно

5. Это означает, что я должен вызвать метод addContactWithUserName из didReceivePresence. ТАК ли это?