成功登录xmpp服务器后如何获取xmpp用户(iPhone SDK)?
Posted
技术标签:
【中文标题】成功登录xmpp服务器后如何获取xmpp用户(iPhone SDK)?【英文标题】:How to get xmpp user after login into xmpp server successfully (iPhone SDK)? 【发布时间】:2011-04-26 12:35:24 【问题描述】:成功登录xmpp服务器(iPhone SDK)后如何获取XMPP用户信息?
登录成功后调用以下方法。
- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender
【问题讨论】:
【参考方案1】:假设您使用的是XMPPFrameowrk,那么您的XMPPStream
实例有一个myJID
属性,该属性在handleBinding 中被服务器分配给您的完整JID 覆盖。
【讨论】:
但我还需要用户状态信息,我该如何获取?现在我面临的问题是,登录应用程序后我无法获得状态消息(用户上次设置的)。但是,一旦我登录到应用程序,我就能够获得状态更新,但是在我退出并再次登录到应用程序后状态消息丢失。我想获取有关登录用户的 XMPPUserCoreDataStorage 和 XMPPResourceCoreDataStorage 对象。 服务器仅在您在线时存储您的状态。如果您想在离线时保留它,您的应用需要在本地存储该信息。 但是如果我将我的状态存储在本地并且如果我登录到另一个设备,在这种情况下我将无法获得我的状态 然后将其存储在 jabber:iq:private (XEP-0049: xmpp.org/extensions/xep-0049.html) 或 PEP (XEP-0163: xmpp.org/extensions/xep-0163.html) 中。 我曾尝试在 iphone sdk 中使用 xep - 00489 和 xep - 0163 但没有得到服务器的任何响应。以上是关于成功登录xmpp服务器后如何获取xmpp用户(iPhone SDK)?的主要内容,如果未能解决你的问题,请参考以下文章
如何使用 simple-xmpp/node-xmpp 获得 Jabber 用户的名册?
如何使用 Facebook 登录 API 对 XMPP 用户进行身份验证?