gpt4 book ai didi

ios - 如何在 XMPPvCardAvatarModule swift 3.0 中更新用户头像

转载 作者:行者123 更新时间:2023-11-28 08:11:57 25 4
gpt4 key购买 nike

我在我的 iOS 应用程序中使用 XMPPFramework 聊天,但我需要在用户更新个人资料图片时更新用户头像,但我不知道我是如何实现这个的。我实现了 XMPPvCardAvatarModule 和 XMPPvCardTempModule 但我不明白我是如何将这些模块中的用户图片传递给其他用户的。更新图片后,所有用户都会收到 Avatar 更新的 XMPP 通知。

任何人有想法请与我分享,我是 XMPP 的新手。

提前致谢

最佳答案

您可以通过以下方式更改登录用户头像

#pragma mark - Update avatar image Methode.
-(void)changeUserImage:(UIImage*)image {

NSData *imageData = UIImagePNGRepresentation(image);

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{

//Create XML for first time VCARD Save.
NSXMLElement *vCardXML = [NSXMLElement elementWithName:@"vCard" xmlns:@"vcard-temp"];
NSXMLElement *photoXML = [NSXMLElement elementWithName:@"PHOTO"];
NSXMLElement *typeXML = [NSXMLElement elementWithName:@"TYPE"stringValue:@"image/jpeg"];

//Convert image to bbase64String
NSString *base64String = [imageData base64EncodedStringWithOptions:0];

NSXMLElement *binvalXML = [NSXMLElement elementWithName:@"BINVAL" stringValue:base64String];

[photoXML addChild:typeXML];
[photoXML addChild:binvalXML];
[vCardXML addChild:photoXML];

//Update user avatar on local database.
XMPPvCardTemp *myvCardTemp = [[[XmppHandler sharedInstance] xmppvCardTempModule]myvCardTemp];
NSLog(@"%@",myvCardTemp);

if (myvCardTemp) {
[myvCardTemp setPhoto:imageData];
[[[self appDelegate] xmppvCardTempModule] updateMyvCardTemp
:myvCardTemp];

} else {

XMPPvCardTemp *newvCardTemp = [XMPPvCardTemp vCardTempFromElement:vCardXML];
[[[self appDelegate] xmppvCardTempModule] updateMyvCardTemp:newvCardTemp];
}
});
}

关于ios - 如何在 XMPPvCardAvatarModule swift 3.0 中更新用户头像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43540525/

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