在现阶段的通信服务中。各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现。实现了整个及时通信服务协议的互通。有了这个协议之后,使用不论什么一个组织或者个人提供的即使通信服务,都可以无障碍的与其它的及时通信服务的用户进行交流。比如google 公司2005年推出的Google talk就是一款基于XMPP协议的即时通信软件。以下我们就谈论一下怎样简单的使用XMPP的好友和个人电子名片


//电子名片
@property (strong,nonatomic) XMPPvCardTempModule * vCardModule;
//电子名片存储
@property (strong,nonatomic) XMPPvCardCoreDataStorage *vCardStorage;
//初始化卡片存储
self.vCardStorage=[XMPPvCardCoreDataStorage sharedInstance];
//初始化花名冊存储
self.rosterStorage=[[XMPPRosterCoreDataStorage alloc] init];
//激活当前的电子名片
[self.vCardModule activate:self.stream];

//获取vcard卡片信息即个人信息
AppDelegate * delegate=[UIApplication sharedApplication].delegate;
XMPPvCardTemp *vcard = [delegate.vCardModule myvCardTemp];
//假设电子卡片信息不存在须要又一次设置
if (vcard==nil) {
vcard=[XMPPvCardTemp vCardTemp];
vcard.nickname=[[NSUserDefaults standardUserDefaults] objectForKey:@"userName"];
}
if (vcard.jid==nil) {
XMPPJID * jid=[XMPPJID jidWithString:[[NSUserDefaults standardUserDefaults] objectForKey:@"userName"]];
vcard.jid=jid;
}
//更新一下改动的数据
[delegate.vCardModule updateMyvCardTemp:vcard];
//将电子名片的信息展示到UI
self.jrImage.image=[UIImage imageWithData:vcard.photo];
self.name.text=vcard.nickname;
self.jid.text=vcard.jid.full;
self.email.text=vcard.mailer;
self.company.text=vcard.orgName;
self.depart.text=[vcard.orgUnits firstObject];
self.post.text=vcard.title;
self.tel.text=vcard.note ;
效果图例如以下:


点击改动调用方法就可以
//更新一下改动的数据 [delegate.vCardModule updateMyvCardTemp:vcard];
想要了解很多其它内容的小伙伴。能够点击查看源代码,亲自执行測试。
疑问咨询或技术交流。请增加官方QQ群:
(452379712)
原文:http://www.cnblogs.com/yxwkf/p/5176105.html