从 openfire 服务器获取好友列表
Get Friends list from openfire Server
如何从 objective C 中的 openfire 服务器以编程方式获取所有好友,我正在使用 XMPP
聊天功能框架。
在 iOS 中,您可以使用 xmpp
中的以下函数轻松获取组 members/friends
- (void)xmppRoom:(XMPPRoom *)sender didFetchModeratorsList:(NSArray *)items
这是一个获取好友的功能。
在下面的函数中添加您的主机名。
func getList() {
let query = try! XMLElement(xmlString: "<query xmlns='http://jabber.org/protocol/disco#items' node='all users'/>")
let iq = XMPPIQ(type: "get", to: XMPPJID(string: "Your Host Name"), elementID: xmppStream.generateUUID(), child: query)
iq?.addAttribute(withName: "id", stringValue: "get")
xmppStream.send(iq)
}
您将在委托方法中获取列表。
extension YourClassName: XMPPRosterDelegate {
func xmppRosterDidEndPopulating(_ sender: XMPPRoster!) {
if let jids = xmppRoster.xmppRosterStorage.jids(for: xmppStream) as? [XMPPJID] {
print("JIDS: \(String(describing: jids))")
for item in jids {
print(item.user)
}
}
}
}
您可以查看我的这个 link 用于 XMPP 连接和不同的委托。
如何从 objective C 中的 openfire 服务器以编程方式获取所有好友,我正在使用 XMPP
聊天功能框架。
在 iOS 中,您可以使用 xmpp
中的以下函数轻松获取组 members/friends- (void)xmppRoom:(XMPPRoom *)sender didFetchModeratorsList:(NSArray *)items
这是一个获取好友的功能。
在下面的函数中添加您的主机名。
func getList() {
let query = try! XMLElement(xmlString: "<query xmlns='http://jabber.org/protocol/disco#items' node='all users'/>")
let iq = XMPPIQ(type: "get", to: XMPPJID(string: "Your Host Name"), elementID: xmppStream.generateUUID(), child: query)
iq?.addAttribute(withName: "id", stringValue: "get")
xmppStream.send(iq)
}
您将在委托方法中获取列表。
extension YourClassName: XMPPRosterDelegate {
func xmppRosterDidEndPopulating(_ sender: XMPPRoster!) {
if let jids = xmppRoster.xmppRosterStorage.jids(for: xmppStream) as? [XMPPJID] {
print("JIDS: \(String(describing: jids))")
for item in jids {
print(item.user)
}
}
}
}
您可以查看我的这个 link 用于 XMPP 连接和不同的委托。