http://groups.google.com/group/xmppframework/browse_thread/thread/1b82b8ca9421f4b9
In case someone else doesn't know how to do this, here is one solution:
NSXMLElement *vCardXML = [NSXMLElement elementWithName:@"vCard" xmlns:
@"vcard-temp"];
NSXMLElement *photoXML = [NSXMLElement elementWithName:@"PHOTO"];
NSXMLElement *typeXML = [NSXMLElement elementWithName:@"TYPE"
stringValue:@"image/jpeg"];
NSData *dataFromImage = UIImageJPEGRepresentation(image, 0.7f);
NSXMLElement *binvalXML = [NSXMLElement elementWithName:@"BINVAL"
stringValue:[dataFromImage base64Encoded]];
[photoXML addChild:typeXML];
[photoXML addChild:binvalXML];
[vCardXML addChild:photoXML];
XMPPvCardTemp *myvCardTemp = [[[self appDelegate] xmppvCardTempModule]
myvCardTemp];
if (myvCardTemp) {
[myvCardTemp setPhoto:dataFromImage];
[[[self appDelegate] xmppvCardTempModule] updateMyvCardTemp
:myvCardTemp];
}
else{
XMPPvCardTemp *newvCardTemp = [XMPPvCardTemp vCardTempFromElement
:vCardXML];
[[[self appDelegate] xmppvCardTempModule] updateMyvCardTemp
:newvCardTemp];