xmpp获取好友信息和添加删除好友(4)

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

好友列表和好友名片

[cpp] view plaincopyprint?

  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

添加好友

[cpp] view plaincopyprint?

  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. }

[cpp] view plaincopyprint?

  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. }

删除好友

[cpp] view plaincopyprint?

    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)

时间: 2024-10-15 07:32:21

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

xmpp开发教程(四)-获取好友列表

这章节主要是介绍如何获取好友列表,在这里主要是做功能部分,后续更新的时候就将界面也做上去 首先提供下核心代码 1 xmppRosterStorage = [[XMPPRosterCoreDataStorage alloc] init]; 2 // xmppRosterStorage = [[XMPPRosterCoreDataStorage alloc] initWithInMemoryStore]; 3 4 xmppRoster = [[XMPPRoster alloc] initWithRo

Python 实现获取微信好友信息

最近用闲余时间看了点python,在网上冲浪时发现有不少获取微信好友信息的博客,对此比较感兴趣,于是自己敲了敲顺便记录下来. 一.使用 wxpy 模块库获取好友男比例信息和城市分布. # -*- coding: utf-8 -*- """ 微信好友性别及位置信息 """ #导入模块 from wxpy import Bot '''Q 微信机器人登录有3种模式, (1)极简模式:robot = Bot() (2)终端模式:robot = Bot(c

XMPP添加删除好友

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

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

1.心跳检测.掉线重连功能 客户端和服务器端都可以设置多久发送一次心跳包,如果对方没有返回正确的pong信息,则会断开连接,而添加掉线重连功能,则会自动进行连接. 如果自己写聊天功能还得自己做心跳检测和掉线重连,比较麻烦.好在XMPP中已经做了心跳检测和掉线重连的模块,只需要几行代码加进去就能实现掉线重连,非常方便. XMPP中Extensions文件下都是可以自己添加的Module,它们都继承自XMPPModule,而添加的方法也非常的简单: <span style="font-size

XMPP开发之获取好友列表

前面在<XMPP开发之adium客户端登陆>中和大家分享了登录的代码和常遇到的问题.几天和大家分享获取好友列表以及相关的问题. 说到获取好友列表,那么很有必要说一下首先网站上gitHub上给出的demo其实是有点问题的,主要就是coredata的文件,有问题,刚开始一直报错,存取都失败,后来发现了我按照他们原来的字段重新建了一个coredata的文件,另外由于这里只是一个demo所以知识简单的实现了好友从a~z的排序,还有就是分组还没有实现,这个等以后把这一块完善后和大家分享下. 如果要有好友

GraduateDesign-给APP添加获取位置信息和天气预报的功能(json)

首先,我的app需要通过网络来获取当前所在的位置.这里我找到了一个json来获取本地位置信息. http://int.dpool.sina.com.cn/iplookup/iplookup.php?format=js //获得当前网络所在城市 返回来的信息是: var remote_ip_info = {"ret":1,"start":-1,"end":-1,"country":"\u4e2d\u56fd"

阿里百川IIMSDK-- 加好友,获取好友

加好友, 其实就是跟发消息一样 获取好友列表 同步好友列表 SDK内部默认会在每次登陆成功后与服务端同步好友列表,开发者可以通过设置disableAutoRequestAllContacts来禁用这个特性,也可以通过 1 - (void)requestAllContactsFromServerWithResultBlock:(YWContactsOperationResultBlock)resultBlock; 来主动发起同步请求. 怎么调用呢? 获取本地好友 开发者可以通过 1 2 3 4 5

React Native之获取通讯录信息并实现类通讯录列表(ios android)

React Native之获取通讯录信息并实现类通讯录列表(ios android) 一,需求分析 1,获取通讯录信息,筛选出通讯录里有多少好友在使用某个应用. 2,获取通讯录信息,实现类通讯录,可拨打电话 发短信等. 二,技术介绍与配置 2.1 技术介绍 1,react-native-contacts地址:https://www.npmjs.com/package/react-native-contacts 2,下载安装:npm install react-native-contacts --

微信企业号 获取用户信息

业务操作最基础的一个功能是获取访客的身份,传统的获取方式是提供一个登录页面用以访客登录. 在微信企业号中,用户在微信中访问页面时,可以根据相关API获取此用户的微信账号信息,以此来匹配业务服务器存储的相关用户信息. 目录 1.  介绍 2.  代码示例 1. 介绍 1.1 说明 企业号的网页开发,说白了就是移动端web开发,特殊点在于如何获取微信用户的身份信息. 在企业号中可以进行如下步骤获取微信用户信息: 访问一个业务页面时,可通过OAuth验证接口获取此用户信息 → 根据code获取user