Ios 通过xmppfrmaework发送图像

Ios 通过xmppfrmaework发送图像,ios,objective-c,ejabberd,xmppframework,Ios,Objective C,Ejabberd,Xmppframework,我已经在本地主机上设置了ejabberd服务器,然后通过选择端口5222上的XMPP(jabber)服务器在Adium上注册了一个帐户。之后,我在移动测试应用程序上配置了一个帐户,并成功地在两个用户之间发送了消息(Adium/testapp)。但当我从测试应用程序向Adium发送图像时,我遇到了一个问题(控制台中没有错误消息)。它不是通过Adium接收的 NSData *dataF = UIImageJPEGRepresentation(imageName, 0.0); NSString *

我已经在本地主机上设置了ejabberd服务器,然后通过选择端口5222上的XMPP(jabber)服务器在Adium上注册了一个帐户。之后,我在移动测试应用程序上配置了一个帐户,并成功地在两个用户之间发送了消息(Adium/testapp)。但当我从测试应用程序向Adium发送图像时,我遇到了一个问题(控制台中没有错误消息)。它不是通过Adium接收的

NSData *dataF = UIImageJPEGRepresentation(imageName, 0.0);


NSString *imgStr = [dataF base64EncodedStringWithOptions: 0];


NSXMLElement *body = [NSXMLElement elementWithName:@"body"];

[body setStringValue:@"123"];


NSXMLElement *ImgAttachement = [NSXMLElement elementWithName:@"attachment"];

[ImgAttachement setStringValue: imgStr];


NSXMLElement *message = [NSXMLElement elementWithName:@"message"];

[message addAttributeWithName:@"type" stringValue:@"chat"];

[message addAttributeWithName:@"to" stringValue:jid];

[message addChild:body];

[message addChild:ImgAttachement];


[self.xmppStream sendElement:message];

任何帮助都将不胜感激。

我们在ios应用程序中看到类似问题。我认为您需要以某种方式将这两个用户添加为好友/联系人,并确保在ejabberd配置文件中启用了mod_vcard_xupdate模块。看看是否有帮助。

谢谢你的回答,但是我找不到配置文件。请解释路径。它应该在安装ejabberd的目录中的conf文件夹中(对我们来说是/opt/ejabberd)。conf文件夹中有4个文件。我在ejabbered.yml中搜索了mod_vcard_xupdate,但没有找到模块。感谢在yml文件中,您应该有一个mod_vcard:[]的条目,还有一个mod_vcard_xupfate:[]的条目,如果没有添加它们的话。这就是我所说的启用模块。我尝试了你建议的方式,但不知何故,它不起作用。请帮帮我。谢谢