Pregunta

Estoy tratando de enviar un mensaje desde el simulador al dispositivo. En el simulador hay un usuario mientras está en el dispositivo hay otro usuario. Pero la presencia no se recibe en ningún fin. Estoy usando XMPPFramework para iOS. Aquí está el código que estoy usando para enviar presencia

NSXMLElement *presence = [NSXMLElement elementWithName:@"presence"];
[presence addAttributeWithName:@"to" stringValue:[NSString stringWithFormat:@"user1@server.com"]];
[presence addAttributeWithName:@"type" stringValue:@"available"];
[[self xmppStream] sendElement:presence]; 

Pero al final donde user1@server.com se inicia sesión en el siguiente método no se está invocando

- (void)xmppStream:(XMPPStream *)sender didReceivePresence:(XMPPPresence *)presence
{
    NSLog(@"---------- xmppStream:didReceivePresence: ----------");
}

¿Cuál podría ser el problema?

¿Fue útil?

Solución

La razón por la que no se estaba enviando la presencia es que el código era incorrecto. Usé el siguiente código para enviar presencia

XMPPPresence *presence = [XMPPPresence presence];
    [[self xmppStream] sendElement:presence]; 

Después de eso, mostró al usuario en línea en el servidor Openfire y el mensaje se envió correctamente a otros usuarios.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top