标签:
在现阶段的通信服务中,各种标准都有,因此会出现无法实现相互连通,而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://blog.csdn.net/jerehedu/article/details/46803957