在Openfire中,用“用户名”(用作JID的基础)和描述性“名称”创建用户。如何在XMPP中检索给定JID的名称?我正在使用XMPPFramework。
答案 0 :(得分:1)
您可以使用 XMPPUserCoreDataStorageObject
中的JID检索用户的显示名称,如下所示:
XMPPJID *userJID = @"shakespeare";
XMPPUserCoreDataStorageObject *user = [[[self appDelegate] xmppRosterStorage]
userForJID:userJID
xmppStream:[[self appDelegate] xmppStream]
managedObjectContext:[[self appDelegate] managedObjectContext_roster]];
NSString *userDisplayName = user.displayName;
答案 1 :(得分:0)
在设置XMPPFramework时,您是否正在使用名册的CoreData部分?您可以从设置的存储类(例如,XMPPRosterCoreDataStorage)通过JID获取用户。
从这里,您可以通过存储类(例如:
)从名册请求中获取存储的用户[xmppStorage userForJID:jid ...]
并且从这里开始,结果对象(XMPPUserCoreDataStorageObject)具有昵称',' displayName'等字段。还可以从该JID的关联vCard获得一些信息。