我在localhost上设置了ejabberd服务器,然后我通过在端口5222上选择XMPP(jabber)服务器在Adium上注册了一个帐户。之后我在移动测试应用程序上配置了一个帐户并在两个用户之间发送了消息(Adium / test app)成功。但是,当我将测试应用程序中的图像发送到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];
非常感谢任何帮助。
答案 0 :(得分:0)
我们在ios应用中看到了类似的问题。我认为您需要以某种方式将这两个用户添加为朋友/联系人,并确保您已在ejabberd配置文件中启用了mod_vcard_xupdate模块。看看是否有帮助。