gpt4 book ai didi

ios - 如何使用 XMPPFramework 确保我的 XMPP 用户没有 vCard?

转载 作者:可可西里 更新时间:2023-11-01 05:54:03 24 4
gpt4 key购买 nike

我正在开发基于 XMPPFramework 的 XMPP iOS 应用程序和一个 ejabberd Community Edition server我正在玩 vCard 管理。

在我的实验中,我发现当通过类似的方式为用户请求 vCard 时:

[vCardTempModule fetchvCardTempForJID:myJID];

如果用户在服务器上没有 vCard,则不会调用任何委托(delegate)方法。

有没有办法通过服务器的明确回答来 100% 确定用户没有 vCard?

或者我应该只考虑用户在延迟 n 秒后没有任何代表反馈后没有 vCard? (这对于移动环境中可能非常频繁的网络延迟情况来说是模棱两可的)

最佳答案

在 XEP-0054 XMPPvCardTempModule.m 中

你需要这样做

- (void)xmppStreamDidAuthenticate:(XMPPStream *)sender {


XMPPvCardTemp *myvCardTemp = [self myvCardTemp];//check if exist or not

if (!myvCardTemp)//if not then create a new vcard
{
NSXMLElement *vCardXML = [NSXMLElement elementWithName:@"vCard" xmlns:@"vcard-temp"];
XMPPvCardTemp *newvCardTemp = [XMPPvCardTemp vCardTempFromElement:vCardXML];
[newvCardTemp setNickname:userName];
[self updateMyvCardTemp:newvCardTemp];
}

}

希望它对你有用:)

关于ios - 如何使用 XMPPFramework 确保我的 XMPP 用户没有 vCard?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23874285/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com