1

我正在使用 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 模块可以很好地更新照片。

有谁知道,我可能做错了什么?

4

0 回答 0