XMPPFramework - 存在不变

Posted

技术标签:

【中文标题】XMPPFramework - 存在不变【英文标题】:XMPPFramework - Presence not changing 【发布时间】:2012-02-18 11:30:21 【问题描述】:

我正在尝试将用户的存在设置为离开(或目前的任何内容)。我正在使用以下代码,但它似乎没有做任何事情。

XMPPPresence *presence = [XMPPPresence presence];
NSXMLElement *show = [NSXMLElement elementWithName:@"show" stringValue:@"away"];

NSXMLElement *status = [NSXMLElement elementWithName:@"status" stringValue:@"away"];
[presence addChild:show];
[presence addChild:status];
[[self xmppStream] sendElement:presence];

我使用 iChat 来确保我的 Ejabberd 服务器上的所有在线状态订阅都正确且有效。这让我发疯,我错过了什么吗?

【问题讨论】:

我从来没有用过XMPPFramework,但是你能得到XML 日志吗?这至少会告诉你应该调试客户端还是服务器端。 那段代码将以下内容输出到控制台 awayaway 所以它看起来是正确的格式对吗?使用状态发送的其他内容(即添加/删除用户等)似乎工作正常。我会调查服务器端! 【参考方案1】:

我想通了,结果发现应用程序没有发送存在,因为我错过了这个:

- (MMApplication *)appDelegate 
    return (MMApplication *)[[UIApplication sharedApplication] delegate];

- (XMPPStream *)xmppStream 
    return [[self appDelegate] xmppStream];

现在完美运行

【讨论】:

以上是关于XMPPFramework - 存在不变的主要内容,如果未能解决你的问题,请参考以下文章

XMPPFramework - 如何接收名册的存在信息以及名册列表?

xmppframework: iPhoneXMPP: RootController 没有更新朋友的存在

XMPPFramework (Swift) 的问题

frame之导航栏不变主体改变实练习

xmppframework开发基础

为啥 XMPPFramework 会阻塞?