XMPP获取用户信息及修改用户信息

XMPP默认没有导入电子名片模块,所以得自己手动在XMPPFramework.h里导入

#import "XMPPvCardTempModule.h" //电子名片模块

#import "XMPPvCardCoreDataStorage.h" //电子名片存储模块

#import "XMPPvCardAvatarModule.h" //电子名片头像模块

电子名片的获取过程是发起请求给服务器,然后服务器返回数据给CoreData,并存储到本地数据库,然后从本地数据库取出来,因为头像模块和电子名片模块是分离开的,所以两个模块都得添加

       //设置电子名片模块
         self.vCardStorage=[XMPPvCardCoreDataStorage sharedInstance];
        self.vCard=[[XMPPvCardTempModule alloc]initWithvCardStorage:self.vCardStorage];
        [self.vCard activate:self.stream];//必须手动激活
        
        //设置电子名片头像模块,此处不导入也可以,一样可以获取到自己头像,只是后面获取好友信息时获取不到头像,得根据JID利用此模块获取好友头像
        self.avatar=[[XMPPvCardAvatarModule alloc]initWithvCardTempModule:self.vCard];
        [self.avatar activate:self.stream];

XMPPvCardTempMoodule中有个XMPPvCardTemp即是当前登录用户,然后调用属性就可以取出相应的值,但是有部分值XMPP没有给解析出来,所以才叫XMPPvCardTempMoodule

XMPPvCardTemp *myCard =[XMPPTool sharedXMPPTool].vCard.myvCardTemp;
    self.iconImageView.image=[UIImage imageWithData:myCard.photo];//头像
    self.nickNameLabel.text=myCard.nickname;//昵称
    self.nameLabel.text=[LSAccount sharedAccount].loginName;//JID这里获取不到用登录名代替
    self.orgNameLabel.text=myCard.orgName;//公司
    self.departmentLabel.text=myCard.orgUnits[0];//部门
    self.jobLabel.text=myCard.title;//职位
    self.telLabel.text=myCard.telecomsAddresses[0];//电话号XMPP没有获取返回nil
    self.emailLabel.text=myCard.mailer;//邮箱
电子名片的修改即把XMPPvCard取出来,修改完,在调用update方法即可,头像photo是Data所以得和UIImage转换

XMPPTool *tool=[XMPPTool sharedXMPPTool];
    XMPPvCardTemp *vCard=tool.vCard.myvCardTemp;
    vCard.photo=UIImageJPEGRepresentation(self.iconImageView.image, 0);
    vCard.nickname=self.nickNameLabel.text;
    vCard.orgName=self.orgNameLabel.text;//公司
    if (self.departmentLabel.text!=nil) {
        vCard.orgUnits=@[self.departmentLabel.text];
    }
    vCard.title=self.jobLabel.text;//职位
    vCard.note=self.telLabel.text;
    vCard.mailer=self.emailLabel.text;
    //更新数据
    [tool.vCard  updateMyvCardTemp:vCard];



评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值