模块类的介绍 :
http://www.henishuo.com/xmpp-vcard/
楼上讲了他的属性和基本的介绍,我这里讲一下怎么去使用:
电子名片的模块内部是怎么实现的
》发送请求从服务器获取 电子名片数据(用户的个人信息)数据
》接收到服务器返回的 电子名片 数据后,把数据缓存到本地数据库
在Extensions中有XEP-0054扩展,提供了一种可以通过XMPP发送电子名片的机制。
讲了 这个模块的来处(XEP-0054)和 这个模块的基本流程现在开始讲怎么去使用它
XMPPvCardTemp 代表电子名片
XMPPvCardCoreDataStorage 代表电子名片在core data存储
XMPPvCardTempModule 用于提供电子名片增、删、改、查操作
1、打开和激活模块
#既然我们是在xmpp中使用这个模块,我们就去XMPPFramework.h中去打开这个模块相关的类
//电子名片
#import "XMPPvCardTempModule.h"
#import "XMPPvCardCoreDataStorage.h"
//电子名片头像
#import "XMPPvCardAvatarModule.h"
#激活模块 (激活过的模块在沙盒的Library文件下可以看到sqlite文件)
//创建电子名片模块
XMPPvCardCoreDataStorage *vCardStorage = [XMPPvCardCoreDataStorage sharedInstance];
XMPPvCardTempModule *vCard = [[XMPPvCardTempModule alloc] initWithvCardStorage:_vCardStorage];
//激活
[vCard activate:_xmppStream]; //这里传入我们之前创建的xmppStream
//创建电子名片头像
XMPPvCardAvatarModule *acatar = [[XMPPvCardAvatarModule alloc] initWithvCardTempModule:_vCard];
//激活
[acatar activate:_xmppStream];//这里传入我们之前创建的xmppStream
2、获取模块信息
#为什么电子名片的模型是temp
#####因为解析电子名片的xml没有完善,有此节点并未解析,所以称为临时
#####所以有些地方是要自己去解析
#在这个框架里 已经帮你写好了sql语句所以我们只需要用
/*
vCard 是上面定义的 XMPPvCardTempModule 对象
*/
//获取电子名片
XMPPvCardTemp *cardTemp = vCard.myvCardTemp;
从XMPPvCardTemp对象获取所有想要的值 在顶上的网站有说每个属性分别是什么
cardTemp.photo
cardTemp.nickname
....等
3、修改电子名片(包括修改头像)
//
这个API用于将电子名片存储到本地数据库,然后发送到服务器
- (void)updateMyvCardTemp:(XMPPvCardTemp *)vCardTemp
/*
vCard 是上面定义的 XMPPvCardTempModule 对象
cardTemp 是上面定义的XMPPvCardTemp
*/
//设置头像
cardTemp.photo = UIImageJPEGRepresentation(self.avatarImgView.image, 0.75);
[vCard updateMyvCardTemp:cardTemp];