XMPPFrameworkを使用して、OpenFireサーバーと通信するjabberクライアントを実装しています。これまでのところ、すべてがスムーズに機能しています。
しかし、クライアントがXMPPUserCoreDataStorageObjectからプロファイルを取得するときに、プロファイルのニックネームまたは「displayName」を変更したいと思います。
私の最初の試みは、VCardTempModuleを使用して次のようにMyVCardを更新することでした。
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モジュールを使用して問題なく更新されます。
誰か手がかりがありますか、私が間違っている可能性がありますか?