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

加好友, 其实就是跟发消息一样

获取好友列表

同步好友列表

SDK内部默认会在每次登陆成功后与服务端同步好友列表,开发者可以通过设置disableAutoRequestAllContacts来禁用这个特性,也可以通过


1

- (void)requestAllContactsFromServerWithResultBlock:(YWContactsOperationResultBlock)resultBlock;

来主动发起同步请求。

怎么调用呢?

获取本地好友

开发者可以通过


1

2

3

4

5

6

/// 获取不同排序和分组模式的FRC对象

- (YWFetchedResultsController *)fetchedResultsControllerWithListMode:(YWContactListMode)aMode imCore:(YWIMCore *)imCore;

/// 使用关键字搜索用户,使用用户名

// 如果希望搜索好友,needIsFriend置为YES,否则可以置为NO

- (YWFetchedResultsController *)fetchedResultsControllerWithSearchKeyword:(NSString *)aKeyword needIsFriend:(BOOL)needIsFriend imCore:(YWIMCore *)imCore;

来获取本地好友。

for example:

YWIMCore *imcore = [SPKitExample sharedInstance].ywIMKit.IMCore;
        _fetchedResultsController = [[imcore getContactService] fetchedResultsControllerWithListMode:YWContactListModeAlphabetic imCore:imcore];

好友操作

好友添加

可以通过以下方式来发起添加好友请求:


1

2

3

4

5

6

7

8

9

10

11

[[self.imkit.IMCore getContactService] addContact:person withIntroduction:@"" withResultBlock:^(NSError *error, YWAddContactRequestResult result) {

        NSString *title = nil;

        if(result == YWAddContactRequestResultError) {

            title = @"请求发送失败";

        } else if (result == YWAddContactRequestResultSuccess) {

            title = @"好友添加成功";

        } else {

            title = @"请求发送成功,等待对方验证";

        }

        [YWIndicator showTopToastTitle:title content:[NSString stringWithFormat:@"添加%@", person.personId] userInfo:nil withTimeToDisplay:1.5 andClickBlock:nil];

    }];

被添加方可以使用:


1

2

- (void)addAddContactRequestBlockV2:(void (^)(YWPerson *person, YWContactAddRequestType type, BOOL isOffline, NSString *message))block

                             forKey:(NSString *)key ofPriority:(YWBlockPriority)priority;

来监听被添加的请求,也可以通过


1

- (YWConversation *)fetchContactSystemConversation;

来获取好友请求列表。

对于被添加的请求,可以使用:


1

2

3

- (void)responseToAddContact:(BOOL)accept fromPerson:(YWPerson *)person

                 withMessage:(NSString*)message

              andResultBlock:(YWAddContactResultBlock)resultBlock;

这个接口接受或者拒绝。
当被添加方处理后,添加发起方可以通过:


1

2

- (void)addAddContactResponseBlockV2:(void (^)(YWPerson *person, YWContactAddResponseType type, BOOL isOffline, NSString *message))block

                              forKey:(NSString *)key ofPriority:(YWBlockPriority)priority;

来获得对方处理的结果。

注:以上add开头添加的block均需要在不使用的时候调用对应的remove方法。

删除好友

开发者可以通过


1

- (void)removeContact:(YWPerson *)persons withResultBlock:(YWRemoveContactResultBlock)resultBlock;

来删除好友,通过


1

2

- (void)addFriendBeRemovedBlock:(void (^)(YWPerson *person, BOOL isOffline))block

                         forKey:(NSString *)key ofPriority:(YWBlockPriority)priority;

来接收被删除的回调。

修改好友的备注名

开发者可以通过


1

- (void)modifyContact:(YWPerson *)person WithNewNick:(NSString *)nickName andResultBlock:(YWContactOperationResultBlock)resultBlock;

来修改好友的备注名,通过


1

- (NSString *)contactNickOfPerson:(YWPerson *)aPerson;

来获取好友的备注名。

查询person是否为好友


1

- (BOOL)ifPersonIsFriend:(YWPerson *)person;

红色的是IMcore对象提供的服务, 除了

getContactService

还有

/**
 *  获取长连接服务
 */
- (id<IYWLoginService>)getLoginService;

/**
 *  获取会话相关服务
 */
- (id<IYWConversationService>)getConversationService;

/**
 *  获取扩展服务
 */
- (id<IYWExtensionService>)getExtensionService;

/**
 *  群相关服务
 */
- (id<IYWTribeService>)getTribeService;

/**
 *  漫游相关服务
 */
- (id<IYWRoamingService>)getRoamingService;

/**
 *  联系人相关服务(建立好友关系的人,称为联系人)
 */
- (id<IYWContactService>)getContactService;

/**
 *  缓存相关服务,在imcore登陆前返回nil。
 *  这里的缓存与imcore相关,跟[YWAPI getGlobalUtilService4Cache]全局缓存的数据不能相互访问
 */
- (id<IYWUtilService4Cache>)getCacheService;

/**
 *  各种设置项
 */
- (id<IYWSettingService>)getSettingService;

/**
 *  获取action相关服务
 */
- (id<IYWActionService>)getActionService;

/**
 *  获取EHelper服务
 */
- (id<IYWEHelperService>)getEHelperService;
时间: 2024-08-06 16:04:45

阿里百川IIMSDK-- 加好友,获取好友的相关文章

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

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

XMPP开发之获取好友列表

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

一步一步来做WebQQ机器人-(四)(获取好友列表和群列表)

× 本篇主要是: 获取好友列表,群列表 我会尽量详细一点,尽我所知的分享一些可能大家已经掌握的或者还不清楚的经验 利于大家阅读,文章样式不再复杂化,根据内容取固定色 目前总进度大概65% 全系列预计会有这些步骤,当然某些步骤可能会合并: 验证码 第一次登陆 第二次登陆 保持在线和接收消息 获取好友和群列表 发送消息 变成智能的(*?∀?*) 获取好友 1-获取QQ好友的hash算法 P = function (b, j) { for (var a = j + "password error&qu

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

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

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

原始地址: XMPPFrameWork IOS 开发(五)获取好友信息和添加删除好友 好友列表和好友名片 [cpp] view plaincopyprint? [_xmppRoster fetchRoster];//获取好友列表 //获取到一个好友节点 - (void)xmppRoster:(XMPPRoster *)sender didRecieveRosterItem:(NSXMLElement *)item //获取完好友列表 - (void)xmppRosterDidEndPopulat

三种微信爆粉的方法,一天加满5000好友

2018年,朋友圈或各种社交场合总时不时冒出"某某做微信爆粉,一天加满5000好友"的说法.这确实是存在的,但严重违规.突破每日添加好友数量上限的双向爆粉,必须使用修改微信底层协议的第三方软件才能实现.今天,无极颜汐教你三种微信爆粉的方法,一天加满5000好友. 微信爆粉的原理是什么?识别微信号ID有很多类型,如:微信号.手机号.QQ号.二维码等,但这些只是肉眼可见的表面数据.实际上,微信的服务器里还有一套识别每个微信号的内部代码数据,如:v1v2数据与wxid.v1v2数据可以理解为

阿里百川HotFix1.3.3初体验

先来说说它适用的场景及一些局限性: 首先,它是一个热修复的解决方案,可以紧急修复我们的线上bug,并且针对于第一次加载补丁的时候,它是及时生效的,并且集成起来相对简单,这是它的优点. 当然,它的局限性也是显而易见的: 1.只能修改方法体内部: public static void test(Context context) { //旧代码 //Toast.makeText(context.getApplicationContext(), "It's a Bug", Toast.LENG

阿里百川无线开放大会

2015-07-16是阿里百川无线开放大会举办的日子,为了长些见识,特地从南京赶到杭州来观摩观摩. 一直都在疑惑阿里百川与百度云,阿里云是什么区别,这一行终于理解了,阿里百川是要做一个“基础平台运营商”,而阿里云,百度云只要提供服务器. 讲了最大的体会之后,首先看一下上午下午的流程: 然后逐个将各位牛人的分享总结一下. 1.逍遥子 关于逍遥子的实录在此处有记录: http://tech.huanqiu.com/news/2015-07/7024964.html 凭着记忆,写些重点: 以前互联网讨

用户说体验 | 关于阿里百川HotFix你需要了解的一些细节

最近很火的热修复技术,无意中了解到阿里百川也在做,而且Android.iOS两端都支持,所以决定试一试.试用一段时间后,感觉还不错,主要是他们有一个团队在不断维护更新这个产品,可以看到他们的版本更新记录.基本每月都有更新,从修复方法到新增类,问了客服据说后面还会把当前已有的限制全部去掉,要是真能实现这些还挺令人激动的.下面说说我接入使用的一些心得体会吧. 开发者通过淘宝账号注册即可成为阿里百川的用户,但是如果要使用阿里百川HotFix还需要申请开通,大概可以分下面几个步骤: 1.   注册百川