我正在使用 XMPPFramework 来实现与 OpenFire 服务器通信的 jabber 客户端。到目前为止,一切都进行得很顺利。
但是现在我想更改我的个人资料的昵称,或者更确切地说是“displayName”,因为客户端从 XMPPUserCoreDataStorageObject 中检索它。
我的第一次尝试是使用 VCardTempModule 来更新我的 VCard,如下所示:
if (nickname) {
[myVCard setNickname:nil];
[myVCard setNickname:nickname];
}
[self.xmppvCardTempModule updateMyvCardTemp:myVCard];
似乎服务器已更新,因为客户端收到配置文件的 tempVCard 并带有更新的昵称:
RECV: <iq xmlns="jabber:client" type="result" from="myAccount@foo.com" to="myAccount@foo.com/564aa046"><vCard xmlns="vcard-temp"><PHOTO><BINVAL>{some binary image data}</BINVAL></PHOTO><NICKNAME>{my updated nickname}</NICKNAME></vCard></iq>
但是,在其他客户端中找不到更新的昵称,而使用 XMPPVCardAvatar 模块可以很好地更新照片。
有谁知道,我可能做错了什么?