如何使用xmpp openfire发送输入通知

时间:2014-05-19 05:45:04

标签: ios objective-c xmpp openfire

我正在开发聊天应用程序我想发送收件人“正在键入”当我输入消息时,任何人都知道如何使用xmpp框架和open fire作为服务器。

下面是我的代码

-(void)sendChatStateNotification: (NSString *)strState
{
     NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
     NSXMLElement *chatStatus=[NSXMLElement elementWithName:strState xmlns:xmlns_chatstates];
    [message addAttributeWithName:@"type" stringValue:@"chat"];
    [message addAttributeWithName:@"to" stringValue:chatWithUser];
    [message addChild:chatStatus];
}

-(void)textViewDidChange:(UITextView *)textView
{
    [self sendChatStateNotification:@"composing"];
}

我仍然没有收到通知

1 个答案:

答案 0 :(得分:9)

用于发送打字状态

NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue: toID];

NSXMLElement *composing = [NSXMLElement elementWithName:@"composing"];
[composing addAttributeWithName:@"xmlns" stringValue:@"http://jabber.org/protocol/chatstates"];

[message addChild:composing];

[xmppStream sendElement:message];

在接收方

if ([message hasComposingChatState] == YES)

检查此情况并使用正确的输入指示。