2013-05-11 5 views
3

У меня есть проблемы с XMPPFramework сегодня ...XMPPFramework/IOS вопрос: отправлять и получать подписку

Я настроил ejabberd правильно: сервер запущен и регистрации пользователей правильно регистрации в полосе.

Но когда я пытаюсь отправить запрос на подписку с одного устройства, второй не может получить присутствие для первого. Вот код, я использую на первом устройстве, чтобы подписаться на пользователя, как описано:

[[[self appDelegate] xmppRoster] addUser:userJID withNickname:nickname groups:nil subscribeToPresence:YES]; 

И если все пойдет нормально, то второе устройство должно сгореть метод делегата:

- (void)xmppRoster:(XMPPRoster *)sender didReceiveBuddyRequest:(XMPPPresence *)presence 

Проблема заключается в том что этот метод делегата никогда не запускается. Сервер создает новый контакт для пользователя, я вижу его на веб-администраторе ejabberd, но тип подписки не установлен.

Любые идеи?

UPDATE:

Ну, кажется, что я забывал включать имя хоста в JID. Теперь делегаты для XMPPRoster не вызываются, но я вижу на ejabberd, что запрос не «нет», а «оба» и ожидает проверки.

Не могу себе представить, почему делегаты XMPPRoster не стреляли ... кажется, что ejabberd сервер не посылает надлежащее уведомление, когда пользователь получает новый запрос на подписку ...

ответ

1

Кажется, что eJabberd было неправильно сконфигурированы или что-то в этом роде. Просто установлен OpenFire и все работает правильно.

+0

Эй, Yoryo, я столкнулся с той же проблемой, я использую открытый огонь, но не получаю присутствие одного пользователя. помогите, его срочно – Khushboo

+0

Ну, я больше не работаю с этим проектом XMPPFramework, но я помню, что OpenFire имеет пользовательский инструмент управления для пользователей. Возможно, вы должны просмотреть строфы, которые вы получаете от методов делегата. Вы можете прочитать об этом здесь: https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework –

+0

У меня есть причина полагать, что OpenFire может иметь способ разрешить «ресурсную» часть JID, которой нет ejabberd. Когда ресурсная часть JID добавляется и подписывается, методы делегата срабатывают. – esh

Смежные вопросы