У меня есть проблемы с 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 сервер не посылает надлежащее уведомление, когда пользователь получает новый запрос на подписку ...
Эй, Yoryo, я столкнулся с той же проблемой, я использую открытый огонь, но не получаю присутствие одного пользователя. помогите, его срочно – Khushboo
Ну, я больше не работаю с этим проектом XMPPFramework, но я помню, что OpenFire имеет пользовательский инструмент управления для пользователей. Возможно, вы должны просмотреть строфы, которые вы получаете от методов делегата. Вы можете прочитать об этом здесь: https://github.com/robbiehanson/XMPPFramework/wiki/IntroToFramework –
У меня есть причина полагать, что OpenFire может иметь способ разрешить «ресурсную» часть JID, которой нет ejabberd. Когда ресурсная часть JID добавляется и подписывается, методы делегата срабатывают. – esh