【发布时间】:2013-05-13 14:54:26
【问题描述】:
这个问题就像它的标题所说的那样简单:我正在尝试更新他的 VCard 上的用户昵称,但我不能。我正在使用此代码:
dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_PRIORITY_DEFAULT);
dispatch_async(queue, ^{
XMPPvCardTemp *myVcardTemp = [[[self appDelegate] xmppvCardTempModule] myvCardTemp];
[myVcardTemp setNickname:@"a_nickname"];
[[[self appDelegate] xmppvCardTempModule] updateMyvCardTemp:myVcardTemp];
});
我无法想象为什么这段代码不想工作,而同一段但更新照片却像魅力一样工作:
NSData *imageData = UIImagePNGRepresentation(anImage);
dispatch_queue_t queue = dispatch_queue_create("queue", DISPATCH_QUEUE_PRIORITY_DEFAULT);
dispatch_async(queue, ^{
XMPPvCardTemp *myVcardTemp = [[[self appDelegate] xmppvCardTempModule] myvCardTemp];
[myVcardTemp setPhoto:imageData];
[[[self appDelegate] xmppvCardTempModule] updateMyvCardTemp:myVcardTemp];
});
任何帮助将不胜感激......这让我发疯了
注意:我使用 OpenFire 作为 XMPP 服务器
这是我尝试更新昵称时服务器返回给我的节
RECV: <iq xmlns="jabber:client" type="result" from="7db55e68-cb18-4826-befd-0eb9269637aa@000.000.000.000" to="7db55e68-cb18-4826-befd-0eb9269637aa@000.000.000.000/2cfc4f88"><chat_jorges xmlns="vcard-temp"><NICKNAME>chat_jorges</NICKNAME></chat_jorges></iq>
(我将服务器的 ip 更改为 000.000.000.000)
【问题讨论】:
-
也许这很愚蠢,但您是否尝试过:setNICKNAME = @"您的昵称"?
-
好吧,XMPPvCardTemp 没有实现 setNICKNAME,但 setNickname 如图所示...不过谢谢 :)
-
对不起。但是我越读你的问题,它就越让我发疯。如果您也将其作为数据推送? (想知道它怎么会……)
-
好点弗兰克,真的好点...让我试试...
-
好吧,setNickname 方法需要一个 NSString 参数而不是 NSData 参数... :(
标签: ios xmpp xmppframework