2010-12-01 18 views

Respuesta

3

Prueba esto:

XMPPUserCoreDataStorage *user = [[self fetchedResultsController] objectAtIndexPath:indexPath]; 

NSXMLElement *body = [NSXMLElement elementWithName:@"body"]; 
[body setStringValue:strSendMsg]; 

NSXMLElement *message = [NSXMLElement elementWithName:@"message"]; 
[message addAttributeWithName:@"type" stringValue:@"chat"]; 
[message addAttributeWithName:@"to" stringValue:[user.jid full]]; 
[message addChild:body]; 

[[self xmppStream] sendElement:message]; 
+0

no funciona para mí – jaskiratjd

11
- (void)sendMessage:(NSString *)msgContent 
{ 

    NSString *messageStr = textField.text; 

    if([messageStr length] > 0) 
    { 
     NSXMLElement *body = [NSXMLElement elementWithName:@"body"]; 
     [body setStringValue:messageStr]; 

     NSXMLElement *message = [NSXMLElement elementWithName:@"message"]; 
     [message addAttributeWithName:@"type" stringValue:@"chat"]; 
     [message addAttributeWithName:@"to" stringValue:[jid full]]; 
     [message addChild:body]; 

     [xmppStream sendElement:message]; 



    } 
} 

utilice el código anterior en que chatViewcontroller ..se está trabajando muy bien para mí.

+0

hace su aplicación obtiene des-conectado - como cuando paso el valor de enviar elemento el estado está dis conectado para mí - ¿tienes alguna idea de cómo para resolverlo ? –

+0

@iphone Diversión: su pregunta no está clara para mí ... de cualquier forma puede agregar - (nulo) xmppStreamDidDisconnect: (XMPPStream *) remitente en su clase, esto le informará cuando su chat se desconecte de la red. – Raj

+0

Excelente ...! Trabajó para mi –

2

si está utilizando la aplicación de ejemplo iPhone xmpp ... se puede usar algo como lo siguiente y que servirán para iniciar:

NSString *msgText = @"test reply"; 

XMPPMessage* msg = [[XMPPMessage alloc] initWithType:@"chat" to:[XMPPJID jidWithString:displayName]]; 
[msg addBody:msgText]; 

[_xmppStream sendElement:msg]; 

Sólo tiene que colocar este derecho por debajo de la alerta que tienen en allí en el método delegado xmppStream en

iPhoneXMPPAppDelegate.m:

-(void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message 

Esta voluntad de forma automática finalice "respuesta de prueba" de nuevo al jid que inicialmente le envió el mensaje

glhf!

0

Swift 3 respuesta:

let user = XMPPJID(string: "[email protected]") 
let msg = XMPPMessage(type: "chat", to: user) 
msg?.addBody("test message") 
self.xmppStream.send(msg) 
Cuestiones relacionadas