Вопрос

Я пытаюсь отправить сообщение с симулятора на устройство. На симуляторе есть один пользователь, в то время как на устройстве есть другой пользователь. Но присутствие не принимается в любой цели. Я использую 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, и сообщение было правильно отправлено другим пользователям.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top