在XMPP框架中,当我尝试用我的名字在我的名单中添加用户时,用户在我的名单中添加但是昵称没有在我的名单中为该用户设置。
代码:Swift 3.0, 服务器:ejabberd
代码片段:
self.xmppRoster.addUser(phJID, withNickname: strName)
self.xmppRoster!.acceptPresenceSubscriptionRequest(from: phJID, andAddToRoster: true)
如果我已尝试手动,然后我收到以下错误消息。
self.xmppRoster.setNickname(strName, forUser: phJID)
错误消息:
<iq xmlns="jabber:client" type="error"><query xmlns="jabber:iq:roster"><item jid="2323232323@ServerIP"/></query><error code="400" type="modify"><bad-request xmlns="urn:ietf:params:xml:ns:xmpp-stanzas"/><text xmlns="urn:ietf:params:xml:ns:xmpp-stanzas" lang="en">Missing attribute 'id' in tag <iq/> qualified by namespace 'jabber:client'</text></error></iq>
Stack Stack Question我已经检查过了。
1)ejabberd can not set nickname when add roster sometimes
需要帮助。