环信iOS消息撤回

最近在做输入状态改变, 消息撤回 , 置顶聊天 , 位置共享功能, 今天把做的消息回撤的功能整理下给大家分享, 如有做的不对的地方或者更好的地方, 希望大家多多指教

A用户发消息给B用户,当需要回撤的时候,将要回撤消息的id通过扩展消息发送给B,B检测到回撤的透传消息后,将对应 messageid 的消息从数据库删除。

  1. A用户发送消息。
  2. A用户需要撤回某条消息,将消息id通过扩展消息发送到用户B。
  3. B用户收到扩展消息,解析其中的messageid,从数据库删除对应消息。

第一步: 添加消息撤回菜单 在ChatViewController中添加

    UIMenuItem *_retracementMenuItem;
然后在 中添加菜单
- (void)showMenuViewController:(UIView *)showInView
                     andIndexPath:(NSIndexPath *)indexPath
                      messageType:(EMMessageBodyType)messageType
代码如下: (注意这里我写了阅后即焚功能, 不能的话该部分可以去掉, 另外我这边的需求是聊天室消息不能撤回)

    //撤回
    if (_retracementMenuItem == nil) {
        _retracementMenuItem= [[UIMenuItem alloc] initWithTitle:NSLocalizedString(@"retracement", @"Retracement")
                                                        action:@selector(messageRetracementMenuAction:)];
    }
    
    id<IMessageModel> model = [self.dataArray objectAtIndex:self.menuIndexPath.row];
    BOOL isFireMsg = [[model.message.ext objectForKey:kGoneAfterReadKey] boolValue];
    NSMutableArray *items = [NSMutabl
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值