#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. ТАК ли это?