Bha*_*hat 2 xmpp ios xmppframework
我正在为我当前的项目使用robbiehanson/XMPPFramework.如何使用XMPPFramework获取消息输入状态?有XEP-184协议,但现在已弃用.需要帮助来获取iOS中的撰写状态.问候,Bhat
小智 7
首先导入:
#import "XMPPMessage+XEP_0085.h"
Run Code Online (Sandbox Code Playgroud)
然后根据您的目的添加以下方法.
构成.....
- (void)sendComposingChatToUser:(XMPPJID*)jid {
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:[jid full]];
XMPPMessage *xmppMessage = [XMPPMessage messageFromElement:message];
[xmppMessage addComposingChatState];
[xmppStream sendElement:message];
}
Run Code Online (Sandbox Code Playgroud)
活性.....
- (void)sendActiveChatToUser:(XMPPJID*)jid {
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:[jid full]];
XMPPMessage *xmppMessage = [XMPPMessage messageFromElement:message];
[xmppMessage addActiveChatState];
[xmppStream sendElement:message];
}
Run Code Online (Sandbox Code Playgroud)
非活动...
- (void)sendInactiveChatToUser:(XMPPJID*)jid {
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:[jid full]];
XMPPMessage *xmppMessage = [XMPPMessage messageFromElement:message];
[xmppMessage addInactiveChatState];
[xmppStream sendElement:message];
}
Run Code Online (Sandbox Code Playgroud)
飘...
- (void)sendExitChatToUser:(XMPPJID*)jid {
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:[jid full]];
XMPPMessage *xmppMessage = [XMPPMessage messageFromElement:message];
[xmppMessage addGoneChatState];
[xmppStream sendElement:xmppMessage];
}
Run Code Online (Sandbox Code Playgroud)
停顿了一下.
- (void)sendPausedChatToUser:(XMPPJID*)jid {
NSXMLElement *message = [NSXMLElement elementWithName:@"message"];
[message addAttributeWithName:@"type" stringValue:@"chat"];
[message addAttributeWithName:@"to" stringValue:[jid full]];
XMPPMessage *xmppMessage = [XMPPMessage messageFromElement:message];
[xmppMessage addPausedChatState];
[xmppStream sendElement:message];
}
Run Code Online (Sandbox Code Playgroud)
那么你应该在appdelgate中编写以下代码.(didReceiveMessage)方法.
例如:
- (void)xmppStream:(XMPPStream *)sender didReceiveMessage:(XMPPMessage *)message{
if ([message isChatMessageWithBody]){
}
else{
if([message elementForName:@"composing"] != nil){
} else if ([message elementForName:@"paused"] != nil) {
} else if ([message elementForName:@"gone"] || [message elementForName:@"inactive"] ) {
}
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2528 次 |
| 最近记录: |