原始地址: XMPPFrameWork IOS 开发(五)获取好友信息和添加删除好友

好友列表和好友名片

  1. [_xmppRoster fetchRoster];//获取好友列表
  2. //获取到一个好友节点
  3. - (void)xmppRoster:(XMPPRoster *)sender didRecieveRosterItem:(NSXMLElement *)item
  4. //获取完好友列表
  5. - (void)xmppRosterDidEndPopulating:(XMPPRoster *)sender
  6. //到服务器上请求联系人名片信息
  7. - (void)fetchvCardTempForJID:(XMPPJID *)jid;
  8. //请求联系人的名片,如果数据库有就不请求,没有就发送名片请求
  9. - (void)fetchvCardTempForJID:(XMPPJID *)jid ignoreStorage:(BOOL)ignoreStorage;
  10. //获取联系人的名片,如果数据库有就返回,没有返回空,并到服务器上抓取
  11. - (XMPPvCardTemp *)vCardTempForJID:(XMPPJID *)jid shouldFetch:(BOOL)shouldFetch;
  12. //更新自己的名片信息
  13. - (void)updateMyvCardTemp:(XMPPvCardTemp *)vCardTemp;
  14. //获取到一盒联系人的名片信息的回调
  15. - (void)xmppvCardTempModule:(XMPPvCardTempModule *)vCardTempModule
  16. didReceivevCardTemp:(XMPPvCardTemp *)vCardTemp
  17. forJID:(XMPPJID *)jid

添加好友

  1. //name为用户账号
  2. - (void)XMPPAddFriendSubscribe:(NSString *)name
  3. {
  4. //XMPPHOST 就是服务器名,  主机名
  5. XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]];
  6. //[presence addAttributeWithName:@"subscription" stringValue:@"好友"];
  7. [xmppRoster subscribePresenceToUser:jid];
  8. }
  1. //收到添加好友的请求
  2. - (void)xmppRoster:(XMPPRoster *)sender didReceivePresenceSubscriptionRequest:(XMPPPresence *)presence
  3. {
  4. //取得好友状态
  5. NSString *presenceType = [NSString stringWithFormat:@"%@", [presence type]]; //online/offline
  6. //请求的用户
  7. NSString *presenceFromUser =[NSString stringWithFormat:@"%@", [[presence from] user]];
  8. NSLog(@"presenceType:%@",presenceType);
  9. NSLog(@"presence2:%@  sender2:%@",presence,sender);
  10. XMPPJID *jid = [XMPPJID jidWithString:presenceFromUser];
  11. //接收添加好友请求
  12. [xmppRoster acceptPresenceSubscriptionRequestFrom:jid andAddToRoster:YES];
  13. }

删除好友

    1. //删除好友,name为好友账号
    2. - (void)removeBuddy:(NSString *)name
    3. {
    4. XMPPJID *jid = [XMPPJID jidWithString:[NSString stringWithFormat:@"%@@%@",name,XMPPHOST]];
    5. [self xmppRoster] removeUser:jid];
    6. }

xmpp获取好友信息和添加删除好友(4)的更多相关文章

  1. QQ空间爬虫--获取好友信息

    QQ空间网页版:https://user.qzone.qq.com/ 登陆后,进入设置,有一个权限设置,设置“谁能看我的空间”为好友可见,然后构造爬虫. (1)获取Cookie 两种方式: 第一种:通 ...

  2. Python 实现获取微信好友信息

    最近用闲余时间看了点python,在网上冲浪时发现有不少获取微信好友信息的博客,对此比较感兴趣,于是自己敲了敲顺便记录下来. 一.使用 wxpy 模块库获取好友男比例信息和城市分布. # -*- co ...

  3. Python使用itchat获取微信好友信息~

    最近发现了一个好玩的包itchat,通过调用微信网页版的接口实现收发消息,获取好友信息等一些功能,各位可以移步itchat项目介绍查看详细信息. 目标: 获取好友列表 统计性别及城市分布 根据好友签名 ...

  4. python itchat 爬取微信好友信息

    原文链接:https://mp.weixin.qq.com/s/4EXgR4GkriTnAzVxluJxmg 「itchat」一个开源的微信个人接口,今天我们就用itchat爬取微信好友信息,无图言虚 ...

  5. XMPP系列(三)---获取好友列表、添加好友

    1.心跳检测.掉线重连功能 客户端和服务器端都可以设置多久发送一次心跳包,如果对方没有返回正确的pong信息,则会断开连接,而添加掉线重连功能,则会自动进行连接. 如果自己写聊天功能还得自己做心跳检测 ...

  6. XMPP添加删除好友

    在现阶段的通信服务中.各种标准都有,因此会出现无法实现相互连通,而XMPP(Extensible Message and presence Protocol)协议的出现,实现了整个及时通信服务协议的互 ...

  7. XMPP系列(三)---获取好友列表、加入好友

    1.心跳检測.掉线重连功能 client和server端都能够设置多久发送一次心跳包,假设对方没有返回正确的pong信息,则会断开连接,而加入掉线重连功能,则会自己主动进行连接. 假设自己写聊天功能还 ...

  8. XMPP框架下微信项目总结(5)花名册获取(好友列表)

    ---->概念 ---->添加花名册 ps:添加花名册,启动: 客户端发送请求到服务器获取好友列表信息,同时在项目中创建数据表,并保存好友列表到数据表中. ---->获取服务器保存好 ...

  9. 第四讲 smart qq 获取联系人信息 ,分组 好友 群聊

    首先从post一下  http://s.web2.qq.com/api/get_user_friends2 这个链接获取分组categories ,好友信息 friends,info. string ...

随机推荐

  1. IIS6下PHP配置(转载)

    Windows 2003+IIS6+PHP5.4.10配置PHP支持空间的方法 (2013-01-10 16:48:56)标签: php it php环境 php配置 分类: PHP环境配置简介:一般 ...

  2. Codeforces Round #322 (Div. 2) D. Three Logos 模拟

                                                      D. Three Logos Three companies decided to order a ...

  3. gitlab的安装和配置

    1 使用omnibus gitlab来安装gitlab 也就是说,将gitlab和它所需要的组件打一个包,即打一个bundle进行安装. 第一步,安装gitlab的源. curl https://pa ...

  4. [DevExpress]DevExpress的安装与使用

    一.下载安装文件 依据自己的须要选择不同的版本号.下面为15.1 安装时选择自己须要的模块进行安装,之后进行激活,购买授权或者"其它方式". 二.安装完 在VSIDE工具栏会添加下 ...

  5. What does jQuery.fn mean?

    n jQuery, the fn property is just an alias to the prototype property. The jQuery identifier (or $) i ...

  6. ubuntu安装virtualbox

    1.下载 2.sudo dpkg -i virtualbox-5.2_5.2.10-122088_Ubuntu_xenial_amd64.deb $sudo dpkg -i virtualbox-5. ...

  7. dubbo和SpringCould

    作为常用的微服务框架,这两者经常会被对比,但实际上两者有不少差异. dubbo好比组装电脑,很多东西可以自己选配,自由度高但对于小白难入门,很可能因为某个组件没选好,导致完全用不起来. SpringC ...

  8. 19_传智播客iOS视频教程_类和对象

    什么是类?什么是对象? 看的见.摸的着.拿过来就可以直接使用.例如报纸就是一个对象. 学生这个东西可不可以只是指一个?就只有那一个才是学生.不是的,学生是有很多个的.它是对一类人的统称.类是统称.所以 ...

  9. 深入浅出Android makefile(2)--LOCAL_PATH(转载)

    转自:http://nfer-zhuang.iteye.com/blog/1752387 一.说明 上文我们对acp的Android.mk文件做了一个大致的描述,使得大家对Android.mk文件有了 ...

  10. selenium3.4.3 + python3.6 + HTMLTestRunner0.8.0

    HTMLTestRunner下载地址:http://tungwaiyip.info/software/HTMLTestRunner.html.该页面下载的HTMLTestRunner默认支持pytho ...