Xmppframework - присутствие не получено в iOS
-
25-10-2019 - |
Вопрос
Я пытаюсь отправить сообщение с симулятора на устройство. На симуляторе есть один пользователь, в то время как на устройстве есть другой пользователь. Но присутствие не принимается в любой цели. Я использую Xmppframework для iOS. Вот код, который я использую для отправки присутствия
NSXMLElement *presence = [NSXMLElement elementWithName:@"presence"];
[presence addAttributeWithName:@"to" stringValue:[NSString stringWithFormat:@"user1@server.com"]];
[presence addAttributeWithName:@"type" stringValue:@"available"];
[[self xmppStream] sendElement:presence];
Но в конце концов, где user1@server.com
регистрируется, следующий метод не вызывается
- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence
{
NSLog(@"---------- xmppStream:didReceivePresence: ----------");
}
Что может быть проблемой?
Решение
Причина, по которой присутствие не было отправлено, заключается в том, что код был неверным. Я использовал следующий код для отправки присутствия
XMPPPresence *presence = [XMPPPresence presence];
[[self xmppStream] sendElement:presence];
После этого он показал пользователь онлайн на сервере OpenFire, и сообщение было правильно отправлено другим пользователям.
Не связан с StackOverflow