2011-03-16 3 views
0

J'ai beaucoup cherché sur le web, mais je ne trouve pas le code source qui peut m'aider à démarrer l'implémentation de google chat, l'exemple de code fourni avec le framework xmpp pas dit clairement à ce sujet, car il a un exemple de projet de l'application de bureau Mac.comment implémenter google chat dans l'application iphone

J'ai été en mesure de montrer à tous mes amis qui sont en ligne/en ligne/loin avec l'aide du projet exemple (iphoneXmpp) qui est fourni dans le xmppframework, mais aussi dire quelque chose sur la façon d'initier une conversation.

Veuillez me fournir tout exemple de code source afin que je puisse initialiser le chat google dans mon application.

Je suis vraiment coincé.

merci à l'avance

Répondre

2

Okey i na pas renoncer et avait une solution après avoir examiné l'application de bureau du cadre XMPP et a essayé de l'inclure dans mon application iphone ..

ici est le code pour envoyer un message à notre ami de chat sur gmail ..

-(void)sendMessage 
{ 
messageStr = [NSString stringWithFormat:@"%@",[msgField text] ]; 
//messageStr = [NSString stringWithString:@"hello ji....."]; 

BOOL isEmpty = [ self validateIsEmpty:msgField.text]; 
if([messageStr length] > 0 && isEmpty == NO) 
{ 
    NSXMLElementK *body = [NSXMLElementK elementWithName:@"body"]; 
    [body setStringValue:messageStr]; 

    NSXMLElementK *message = [NSXMLElementK elementWithName:@"message"]; 
    [message addAttributeWithName:@"type" stringValue:@"chat"]; 
    [message addAttributeWithName:@"to" stringValue:[[user jid] full]]; 
    [message addChild:body]; 
      [[self xmppStream ] sendElement:message]; 
} 

et didReceiveMessage, j'ai le code suivant ...

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

NSLog(@"---------- xmppStream:didReceiveMessage: ----------"); 

NSLog(@"--jid---%@", [[user jid] full]); 
NSLog(@"--from----%@", [message from]); 
//if(![[[user jid] full] isEqual:[message from]]) return;// important when chatting with 2 or more .. and receiving 2 or more messages... 

if([message isChatMessageWithBody]) 
{ 
    NSString *msg = [[message elementForName:@"body"] stringValue]; 

    NSLog(@"mmmmmmmmmmssssssgggg-%@",msg); 

    [str appendString:[NSString stringWithFormat:@"%@:%@\n\n", [message from], msg]]; 
    [chatBox setText:str]; 
} 
} 

je suis en mesure d'envoyer/recevoir le chat en utilisant ces deux méthodes mais le problème est que quelques fois id de la personne que je choisi dans l'affichage du tableau de disponibles contacts en ligne (à qui nous pouvons discuter) ne reçoit pas le message, mais toute autre personne reçoit le message ..

Cheers !!

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

    NSString *msg = [[message elementForName:@"body"] stringValue]; 
    NSString *from = [[message attributeForName:@"from"] stringValue]; 

    if (msg.length==0) { 
     UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Receiving Message" 
                  message:[NSString stringWithFormat:@"From %@",from] 
                  delegate:nil 
                cancelButtonTitle:@"Ok" 
                otherButtonTitles:nil]; 
     [alertView show]; 


    } 

    if (msg.length!=0) { 
     NSMutableDictionary *m = [[NSMutableDictionary alloc] init]; 
     [m setObject:msg forKey:@"msg"]; 
     [m setObject:from forKey:@"sender"]; 

     NSLog(@"message received : %@", m); 
     [_messageDelegate newMessageReceived:m]; 
    } 
} 

Cela fonctionne très bien pour vous, et il vous donnera également l'alerte qui envoie le message et qui veut discuter avec vous, mais je suis juste coincé où dois-je mettre en œuvre la déconnexion de l'utilisateur à travers lequel je me suis connecté à iOS SDK.

Questions connexes