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];



阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/itiapp_home/article/details/49643355
个人分类: IOS软件开发
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭