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

获取好友列表

同步好友列表

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;

阿里百川IIMSDK-- 加好友,获取好友相关推荐

  1. python登录微信获取好友群生成列表

    直接上代码 -- coding: utf-8 -- """ Module implementing MainWindow. """ from ...

  2. python pc微信 接收信息_GitHub - ericadver/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...

    WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息等功能.可用于二次开发在线微信机器人.微信消息监控.群控软件.开发界面作多个微信控制软件等 ...

  3. 微信聊天小程序——(三、获取好友列表)

    三.获取好友列表 步骤一.展示所有好友的推荐列表(friends页面) 具体效果: 实现思路: 我们有我们的用户数据库表即:uers 循环我们的数据库用户表,达到所有的用户信息,即:userList ...

  4. python 微信公众号网页接口调用_GitHub - micsem00/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...

    WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息等功能.可用于二次开发在线微信机器人.微信消息监控.群控软件.开发界面作多个微信控制软件等 ...

  5. python的读取微信界面_GitHub - lchb000/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...

    WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息,接受转账.好友请求.入群请求,群管理等功能.可用于二次开发在线微信机器人.微信消息监控. ...

  6. python 接收微信pc端_GitHub - linhuisheng/WechatPCAPI: 微信PC版的API接口,可通过Python调用微信获取好友、群、公众号列表,并收发消息等功能。...

    WechatPCAPI 微信PC版的API接口,可通过Python调用微信获取好友.群.公众号列表,并收发消息等功能.可用于二次开发在线微信机器人.微信消息监控.群控软件.开发界面作多个微信控制软件等 ...

  7. XMPP通讯开发-好友获取界面设计

    在XMPP通讯开发-服务器连接 中我们成功连接到服务器上面,然后进入到主界面,接下来就是获取好友列表,这里我们分段开发,首先就是界面的设计,这里仿照QQ好友界面,里面的数据先是用模拟的,下一章获取服务 ...

  8. facebook获取好友头像

    1.获取用户头像.facebook的只要知道用户的ID或name就可以获取了.一般是获取最大的然后resize成需要的.地址如下: ? http://graph.facebook.com/randy. ...

  9. python clicknium 微信发送消息以及获取好友列表

    需求说明 给指定微信好友发消息 获取所有微信好友的微信号 环境准备 Windows 10 Visual Studio Code 1.69.2 Clicknium 0.1.2 Python 3.10.5 ...

最新文章

  1. if...else if switch分支结构
  2. A Step By Step Guide to Tomcat Performance Monitoring【转】
  3. 帝国理工大学2021-22电气与电子工程系应用机器学习硕士课程大纲
  4. 支付宝php rsa签名验签工具,alipay rsa2 签名验证
  5. Eclipse 相同变量背景高亮显示设置(Occurrences)
  6. python 读取txt中的英文内容 分析词频 可视化显示
  7. vue项目开发之v-for列表渲染的坑
  8. 如何查看CSDN发布的博客和上传的资源?
  9. Linux下安装JDK常用命令
  10. 巴斯勒BASLER GIGE相机程序调试报错后需要拔网线
  11. 【调色台】达芬奇调色台系列
  12. Xshell和Xftp使用(非商业用途可以免费使用啦)
  13. 电商平台减少服务器性能,电商平台服务器数据安全灾备方案规划.doc
  14. HP WINDOWS XP PRO SP3 OEM 中文简体完整版
  15. 硬盘变成了raw格式了怎么办?数据还能找回吗
  16. BSD License
  17. 7-3 二叉树路径和II
  18. 加薪必备,SpringMVC精品面试题(这必须收藏啊!)
  19. 【机器视觉】基于机器视觉的工业机器人定位系统;机器视觉技术在印刷包装行业中的应用
  20. 项目开发个人心得报告

热门文章

  1. 图像“位操作”有什么用?
  2. 【AI基础】OpenCV,PIL,Skimage你pick谁
  3. 中国锂电池行业发展机遇及营销策略前景研究报告2021-2027年版
  4. 全球与中国抗脑啡肽酶抗体市场发展规模及前景战略建议报2022
  5. RSA算法和RSA数字签名算法的实现
  6. 十分经典的批处理教程
  7. 传递类型为参数的方法
  8. Visual C++下对匿名管道的编程实现
  9. 京东云上集市谋定中国农民丰收节交易会 建九江电商产业园
  10. Singleton单例模式