• XMPP个人信息展示


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

     1、在XMPPFramework.h中将需要用到的头文件打开

     

     2、在storyboard创建电子名片的页面

     

     3、定义数据存储和电子名片模型属性并且进行初始化

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

     4、创建对应的类,并且和电子卡片的storyboard关联,连接输出口

     

     5、获取当前的人员电子卡片

    //获取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];

     6、将电子卡片的信息展示到UI界面

        //将电子名片的信息展示到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 ;

      效果图如下:

     

     6、修改电子卡片,涉及到个人信息的修改,这里我们需要重新做UI

     

      点击修改调用方法即可

    //更新一下修改的数据
    [delegate.vCardModule updateMyvCardTemp:vcard];

      想要了解更多内容的小伙伴,可以点击查看源码,亲自运行测试。

      疑问咨询或技术交流,请加入官方QQ群:JRedu技术交流 (452379712)

    作者:杰瑞教育
    出处:http://www.cnblogs.com/jerehedu/ 
    本文版权归烟台杰瑞教育科技有限公司和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
     
  • 相关阅读:
    Linq系列:基础与本质(Part III)
    CLR系列:浅析委托
    8万亿 全球第二还是最二?
    CLR系列:窥视HashTable
    c#3.0系列:Anonymous Type In CLR(3.5)
    VC6 编译选项问题
    C++资源库不完全版本
    如何用C实现C++的特性
    几种用于WSN的仿真工具
    嵌入式编程的好资源
  • 原文地址:https://www.cnblogs.com/jerehedu/p/4630332.html
Copyright © 2020-2023  润新知