# iOS IM SDK 更新日志

    # 版本 V4.0.1 Dev 2023-3-16(开发版)

    # 新增特性

    • [IM SDK] 新增 群成员自定义属性功能并增加自定义属性更新事件实现群成员设置和获取在群组中的昵称和头像等属性。
    • [IM SDK] 新增 EMChatMessage#deliverOnlineOnly 属性实现发消息只投递给在线用户。若开启了该功能,用户离线时消息不投递。
    • [IM Demo] 新增群成员昵称修改与展示功能。

    # 优化

    [IM SDK] 优化聊天室进入和退出实现,提升性能。

    # 版本 V4.0.0 Dev 2023-2-6(开发版)

    # 新增特性

    [IM SDK] 新增 EMChatManager#getConversationsFromServerByPage:pageSize:completion 方法实现从服务端分页获取会话列表

    # 优化

    # 版本 V3.9.9 Dev 2022-11-29(开发版)

    # 新增特性

    [IM SDK] 新增消息流量统计功能

    # 修复

    [IM SDK] 修复极端情况下 SDK 崩溃的问题。

    # 版本 V3.9.8 Dev 2022-11-8(开发版)

    # 新增特性

    • [IM SDK] 新增聊天室消息优先级
    • [IM SDK] 群组信息更新后的 EMGroupManagerDelegate#groupSpecificationDidUpdate 回调中添加更新后的群组信息。

    # 优化

    [IM SDK] 修复某些场景下调用 updateMessage 方法导致的内存与数据库消息不一致问题。

    # 版本 V3.9.7.1 Dev 2022-9-30(开发版)

    # 新增特性

    [IM SDK] 在 EMOptions 类 中增加 area 属性限制连接边缘节点的范围。

    # 优化

    [IM SDK] 优化通信协议,减少数据量。

    # 修复

    • [IM SDK] 修复数据统计不正确的问题。
    • [IM SDK] 修复极少数场景下打印日志导致崩溃的问题。
    • [IM SDK] 修复开启全链路加入(FPA)功能时导致崩溃的问题。

    # 版本 V3.9.6.1 Dev 2022-9-21(开发版)

    # 优化

    • [IM SDK] 优化聊天室自定义属性更新的回调方法 onAttributesUpdate,返回修改成功的聊天室自定义属性的集合。
    • [IM SDK] 优化聊天室自定义属性移除的回调方法 onAttributesRemoved,返回成功移除的聊天室自定义属性的 key 数组。
    • [IMKit] 语音播放切换至媒体音量。

    # 版本 V3.9.6 Dev 2022-9-16(开发版)

    # 新增特性

    # 优化

    [IM SDK] 优化获取漫游消息的性能。

    # 修复

    • [IM SDK] 修复少数场景下,同步或拉取消息时消息量较大时收取失败的问题。
    • [Demo] 修复部分 Demo bug。

    # 版本 V3.9.5 2022-8-2(开发版)

    # 新增特性

    • [IM SDK] 新增群组详情中群组禁用状态:isDisabled 属性,该属性需要开发者在服务端设置;
    • [IM SDK] 发送前回调:发送失败时返回给 app 用户的错误描述中增加你自定义的错误信息;
    • [IM SDK] 新增错误码 1101:EMErrorPresenceCannotSubscribeSelf。

    # 优化

    • [IM SDK] 优化登录过程,缩短登录时间;
    • [IM SDK] 消息加密算法由 CBC 升级为 GCM;

    # 修复

    • [IM SDK] 修复退出账号时,若未设置推送证书,解绑 crash 的问题;
    • [IM SDK] 纠正部分拼写错误的接口;
    • [Demo] 修复部分 Demo bug。

    # 版本 V3.9.4 2022-6-16

    # 新增特性

    # 优化

    • [IM SDK] 优化子区相关接口及属性;对比 3.9.3 版本,用 EMChatThread 替换 EMChatThreadInfoEMChatThreadEvent 中的 Chat Thread 相关属性用 EMChatThread 对象替换;
    • [IM SDK] 群邀请回调 EMGroupManagerDelegate#groupInvitationDidReceive: (opens new window) 中返回新增 群名称(aGroupName) 参数值;
    • [IM SDK] 升级网络链路库;
    • [IM SDK] 支持设置附件为远程地址的消息。

    # 修复

    • [EaseIMKit] 修复删除 Reaction 接口重复调用的问题。

    # 版本 V3.9.3 2022-5-26

    # 新增特性

    • [IM SDK] 新增消息子区(Message Thread)功能;

    # 优化

    • [IM SDK] 优化网络链路,提升网络访问性能;
    • [IM SDK] 优化 拉取漫游消息接口,增加指定拉取消息方向的参数;

    # 版本 V3.9.2.1 2022-5-25

    修复 3.9.2 上传 AppStore 时的依赖库问题

    # 版本 V3.9.2 2022-5-15

    # iOS SDK 3.9.2

    # 新增特性:

    • [IM SDK] 新增 消息 Reaction 功能,可以对消息进行不同的响应。
    • [IM SDK] 新增 举报 API 用于内容审核。

    # 优化:

    • [IM SDK] 优化获取服务器接入点 (dnsconfig) 的功能。
    • [IM SDK] 优化数据上报功能。
    • [IM SDK] 依赖的 openssl 替换为 boringssl。
    **请注意: 该版本上传AppStore存在依赖库问题,请使用3.9.2.1。**
    

    # EaseCallKit 3.9.2

    # 优化:

    • [EaseCallKIt] 升级 Agora RTC SDK 版本到 3.6.2。

    # 版本 V3.9.1.1 2022-4-27

    # 修复:

    • [IM SDK] 修复偶发的拉取历史消息不能正常显示的问题。

    # 版本 V3.9.1 2022-4-19

    提示

    仅 V3.9.1 及以下版本支持私有化部署。

    # 新增特性:

    # 优化:

    • [IM SDK] 缩短发送消息超时时间。
    • [IM SDK] DNS 服务器地址列表支持优先级设置,HTTP 和 TCP 请求重试时按 DNS 服务器地址的优先级发送请求,提升请求成功率。

    # 版本 V3.9.0 2022-02-23

    # iOS SDK 3.9.0

    # 新增特性:

    # 优化:

    • [IM SDK] 减少弱网时发送消息的等待时间;
    • [IM SDK] EMMessage 重命名为 EMChatMessage,避免与系统类冲突;
    • [IM SDK] 移除 IEMPushManager 中 callBack EMError 参数的 _Nonnull 约束。
    • [IM SDK] API 调用在 Swift 语法的表现形式。

    # 修复:

    • [IM SDK] 消息发送重试被连接成功事件中断;
    • [IM SDK] SDK 内存泄漏;
    • [IM SDK] 因时间统计为负数导致崩溃问题。

    # EaseIM Demo 3.9.0

    # 新增特性:

    • [IM SDK] 通讯录 → 群聊下添加创建群组入口;
    • [IM SDK] 非好友不能发送消息提醒;
    • [IM SDK] 推送透传消息回调中增加获取推送内容示例。

    # 优化:

    • [IM SDK] EMMessage 重命名为 EMChatMessage;
    • [IM SDK] 服务器配置界面,“使用自定义服务器”开关生效;
    • [IM SDK] 免费版注册用户数超过 100 时,提示注册错误。

    # 修复:

    • [IM SDK] 用户被群主移除和拉黑后,其会话列表仍显示该群组的数据;
    • [IM SDK] 聊天室重命名后,聊天室列表未刷新。

    # EaseIMKit 3.9.0

    # 新增特性:

    • [IM SDK] 删除服务器会话时同时会删除本地会话;
    • [IM SDK] 免打扰事件的多设备间同步;
    • [IM SDK] 发送图片支持 PNG 格式。

    # 优化:

    • [IM SDK] EMMessage 重命名为 EMChatMessage;
    • [IM SDK] 优化撤回消息的相关提示信息。

    # 修复:

    • [IM SDK] 语音消息动画播放异常;
    • [IM SDK] 语音消息“已听”属性重启后失效。

    # EaseCallKit 3.9.0

    # 优化:

    • [EaseCallKIt] EMMessage 重命名为 EMChatMessage。

    # 版本 V3.8.9.1 2021-12-30

    # 修复:

    • [IM SDK] 增加极端情况下打开数据库失败时重建数据库的策略。

    # 版本 V3.8.9 2021-12-27

    # 新增

    • [IM SDK] 增加翻译功能 API;
    • [IM SDK] 位置消息增加建筑物名称字段;
    • [IM SDK] 增加按照时间删除消息的 API;
    • [IM SDK] 增加获取会话中消息总数的 API;

    # 修复

    • [IM SDK] 修复部分崩溃的问题;
    • [IM SDK] 修复数据库加密的 bug;
    • [IM SDK] 修复自动登录不兼容卸载重装问题。

    # 版本 V3.8.8 2021-12-06

    # 新增

    • [IM SDK] 增加 取消收到群组消息后检查是否在群组中的过程。

    # 优化

    • [IM SDK] 优化 API naming;
    • [IM SDK] 更新推送 Token 过程,降低服务器请求次数;
    • [IM SDK] 登录过程速度;
    • [IM SDK] 更新消息时只更新 cache,修复拉取历史消息时的问题;
    • [IM SDK] 修改 SDK 中修改为默认使用 HTTPS;
    • [IM SDK] 优化 Agora Token 过期后不做解绑 Token 操作。

    # 修复

    • [IM SDK] 修复 Agora Token 即将过期和已经过期回调时机不准确问题。

    请注意: 此版本有切换账号杀掉应用后再打开应用,不能正常打开数据库的问题,请使用 3.8.9 版本。

    # 版本 V3.8.7 2021-10-22

    SDK :

    • 增加:token登录支持自动登录,如果不希望自动登录,请在初始化时将EMOptions.isAutoLogin设置为NO
    • 支持版本:提升到 iOS 10 为最低版本

    # 版本 V3.8.6 2021-10-12

    SDK :

    • 增强本地存储数据的安全性;
    • 增强传输数据的安全性;
    • 增加: 用户被全局禁言时发消息的会提示单独的错误码;
    **请注意: 从 3.8.6 开始我们采用 Dev 和 Stable 版本并行的方式,用户可以根据需求选择使用的版本。**
    
    • 稳定版(Stable):基于开发版本,提供稳定的功能,持续修复 Bug,可用于发布应用;
    • 开发版(Dev):最新版本,体现最新的功能和特性,不定期发布版本,可用于体验。

    # 版本 V3.8.5.2 2021-09-30

    SDK :

    • 修复:重复收到离线推送

    # 版本 V3.8.5 2021-09-10

    SDK:

    • 增加: 对log日志敏感数据脱敏
    • 优化: 设备id 使用随机生成的方式
    • 修复:手机链接wifi,静置8分钟长链接断开问题
    • 修复:设置免打扰群组不正确问题
    • 修复:SDK偶现启动crash问题

    EaseIMKit:

    • 修复:聊天界面动图不展示
    • 修复:聊天界面删除最后一条消息crash问题
    • 修复:聊天详情中清空聊天记录crash问题

    # 版本 V3.8.4 2021-08-02

    SDK:

    • 增加:单聊1v1免打扰功能;
    • 增加:loadMessage 从DB加载消息的同步线程API ;
    • 增加:垃圾消息被拦截的错误码;
    • 优化:SDK 开始以 HyphenateChat.XCFramework 方式提供;
    • 修复:设置deviceToken参数长度为0时crash 问题;

    EaseIMKit:

    • 修复:多条语音消息UI刷新问题;
    • 增加:从会话列表进入聊天页发送群组已读回执;
    • 优化:EaseIMKit 开始以源码方式从cocoapods下载;
    • 优化:本地以podspec方式集成EaseIMKit源码;

    环信app:

    • 增加单聊1v1免打扰开关。

    # 版本 V3.8.3.1 2021-07-08

    SDK:

    • 修复:ios14.0 相关版本移动网络下直接crash;
    • 修复:自动登录失败,导致进入EaseIM app之后的任何行为导致crash;
    • 修复:拉取漫游会话id大写导致重复拉取;
    • 修复:updateMessage不更新缓存;
    • 修复:缓存群组免打扰列表偶现crash;
    • 删除:不再获取设备”wifi名称“(wifissid)信息;
    • 废弃:groupManage推送相关api,(改用pushManage相关api)。

    环信app:

    • 修复:群组,聊天室 成员/管理员列表侧滑直接删除;
    • 修复:群组,聊天室 成员/管理员列表禁言之后无法取消禁言;
    • 修复:群组,群管理页黑名单,禁言人数不准确;
    • 修复:为获取用户资料发送用户名片crash;
    • 增加:集成Bugly收集未知异常。

    # 版本 V3.8.3 2021-06-05

    SDK:

    • 此版本仅小幅改动,以3.8.3.1版本为基准

    # 版本 V3.8.2 2021-06-05

    SDK:

    • 添加用户行为数据上报
    • 用户已登录和再重复登录区分错误描述
    • 添加发送前回调消息被拦截错误描述
    • 登录上传appid
    • 修复会话列表没有Localpath无法下载附件bug
    • iOS修复用户资料中文乱码bug

    EaseIMKit:

    • 修复自定义cell长按不返回当前对象bug
    • 修复聊天页面设置圆角无效bug
    • 修复下拉刷新时切换页面加载圈卡死bug
    • 添加没有相关权限限制相关功能使用(例:无相机权限可使用相机)

    环信app:

    • 处于群成员页,群被解散app即crash问题
    • 添加没有相关权限限制相关功能使用(音视频功能)

    # 版本 V3.8.1 2021-04-13

    SDK:

    • 新增设置、获取用户属性的接口,集成参见:用户属性
    • 新增App层输出信息到日志文件的接口

    EaseIMKit:

    • 添加EaseIMKit发送消息前回调接口,EaseIMKit发送消息后回调接口,EaseIMKit文本消息支持URL识别并点击跳转浏览器
    • 修复EaseIMKit聊天页面头像支持url,web发视频消息,EaseIMKit不展示默认缩略图,EaseIMKit头像圆角设置无效

    环信app:

    • 新增用户属性(头像、昵称)的存储、显示
    • 新增用户名片消息的发送与展示(使用自定义消息实现)

    EaseCallKit(2021-05-07):

    • 修改加入声网频道的方式,改为使用数字uid加入,增加与小程序的互通,与之前版本不互通,参见EaseCallKit使用指南

    # 版本 V3.8.0 2021-02-27

    SDK:

    • 3.8.0版本SDK更新名为HyphenateChat,只发布IM功能,移除RTC功能;
    • 3.8.0版本支持armv7,arm64,i386,x86_64指令集;
    • 修复极端情况用户名为空时请求token的的问题;

    EaseIMKit:

    • 3.8.0使用HyphenateChat SDK;
    • 修改聊天页创建实例方法为类方法;
    • 聊天页传入数据集刷新页面方法添加是否插入当前列表尾部参数;
    • 聊天页支持用户头像URL;
    • 修复群聊,点击语音未读状态红点不消失问题;

    环信APP:

    • 环信app依赖声网RTC;
    • 通话部分模块化为EaseCallKit;
    • 修复会话列表群聊会话置顶和群详情页置顶不同步问题;
    • 修复对方输入状态不显示问题;
    • 修复搜索功能崩溃问题;

    注意:

    • 为提供更好的服务,从3.8.0开始SDK中不再提供音视频功能,而是在EaseCallKit中基于声网的SDK给出了音视频功能的参考实现。该方案呼叫功能不能与之前版本之间互通,请根据情况选择使用新方案或者继续使用之前的版本
    • EaseIMKit除了可以远程库外,也公布了源码,详情请见:EaseIMKit 使用指南 (opens new window);
    • EaseCallKit初版发布,详情请见EaseCallKit 使用指南 (opens new window)

    # 版本 V3.7.4 2021-02-04

    SDK:

    • 3.7.4版本开始不支持armv7,i386指令集;
    • 从3.7.4版本开始支持bitcode;
    • 增加发送/接收会话已读API;
    • 增加从服务器拉取会话列表API;
    • 增加获取群详情时获取群成员选项API;
    • 增加搜索指定内容的自定义消息API;
    • 修复未获取pushOptions时直接设置推送偶现的crash;

    EaseIMKit:

    • 修改聊天页接收数据源方式:外部传入数据源,EaseIMKit展示数据;
    • 降最低版本到iOS 10.0;
    • 增加是否显示己方输入状态方法;

    环信APP:

    • 增加拉取会话列表功能(首次安装APP且第一次登录);
    • 聊天页从数据库/服务器获取历史消息作为数据源传入EaseIMKit展示;
    • 从服务器获取历史消息开关生效;
    • 修复1v1视频通话切换本地视频黑屏问题;
    • 搜索功能包装,不作为分类使用;

    注意:

    # 版本 V3.7.3 2020-12-31

    新功能:

    • 增加RTC部分log,方便排查问题;
    • 使用环信app和新版IMKit;

    修复:

    • 修复iOS14下使用位置api权限的问题;
    • EMPushManager 和安卓api不一致的问题;
    • 添加重复登录日志;
    • 修复获取聊天室详情时不同时获取成员的问题;

    注意:

    • EaseIMKit除了可以远程库外,也公布了源码,详情请见:EaseIMKit 使用指南 (opens new window);
    • 新版App(EaseIM App)采用了新的appkey,不可用之前的账号进行登录,需要重新进行注册。

    # 版本 V3.7.2 2020-10-30

    新功能:

    • 注册用户名超过64位时返回错误码: USER_NAME_TOO_LONG;
    • 处理从其他设备上同步的read ack,实现已读状态在多个设备上的同步;

    修复:

    • 修复有线连接判断的bug,修复群组操作的可能网络判断不准确的bug;
    • 改进加入聊天室,群组的速度,减少请求服务器次数;
    • 修复音视频通话时切换扬声器导致的crash;
    • 修复下载附件时因权限问题导致的crash;
    • 修复转移群组时旧群主权限不变的bug;
    • 修复群组公告长度判断不准的问题;
    • 修复demo中断网无法删除群组聊天记录的问题;
    • 修复demo中自己创建的公开群无法邀请他人进入的问题;

    # 版本 V3.7.1 2020-08-27

    新功能:

    • RTC 增加设置视频清晰度优先的api;
    • RTC 增加设置获取集群代理的url 的api;
    • 支持设置pushKit推送;
    • IM demo 呼叫时支持自定义铃声

    修复:

    • 修复IM Demo创建会议时偶现的因Token为空导致创建失败的问题
    • 修复本地查询消息,传参时间戳为负数时查不到的问题

    # 版本 V3.7.0 2020-07-29

    新功能:

    • 实现RTC质量监控,上报RTC质量数据;
    • 增加纯音频推流功能,可设置音频参数;
    • 增加多路推流到CDN接口的api;
    • 增加自定义录制接口的api;
    • Demo中把1v1呼叫时的推送选项默认打开;
    • Demo中增加聊天文件可预览功能
    • 增加网络等异常无视频 音频数据,无数据回调接口;
    • 增加发送接收音视频首帧数据的回调;
    • 增加录制、播放的音频数据的回调

    修复:

    • 修复语音会议对方断网的回调问题
    • 修复会议中丢包率统计错误问题
    • 修复处于单聊页面,对方转发图片过来不显示问题
    • 修复转发消息选择联系人页面第一条cell不可选中问题
    • 修复转发图片失败问题

    # 版本 V3.6.9 2020-06-23

    新功能:

    • 增加白板开启关闭交互的api;
    • 增加创建白板时的参数开启关闭交互;
    • 增加共享桌面流的限制;
    • 增加发布桌面流失败的回调;
    • demo中增加音视频是否支持小程序的设置

    修复:

    • 修复1v1通话中iOS作为被叫方有时接听不起来的问题
    • 修复会议进行中切出去后再切回来,对方视频黑屏的问题

    # 版本 V3.6.8 2020-06-09

    新功能:

    • 支持附件下载重定向;
    • 支持图片检测违规抛出单独的异常;

    修复:

    • 修复聊天时,自己发图片没有显示缩略图的问题;
    • 修改群组免打扰后,ui显示不准确的问题;
    • 修复接收自定义消息后crash的问题;

    # 版本 V3.6.7 2020-05-15

    SDK 新功能:

    • 支持集群代理功能;
    • 实现上下麦api;
    • 实现静音管理功能,包括全体静音及指定成员静音;
    • 支持设置cdn推流及自定义布局功能;
    • 支持设置视频自定义分辨率。

    IM_DEMO 修改:

    • 更改音视频会议只使用普通会议模式
    • 修复聊天页连续接收图片,图片重复问题
    • 修复发送语音时无法调节音量问题
    • 修复联系人页个别汉字不识别,排序错误问题
    • 修复会话列表和tabbar未读消息数显示不准确问题
    • 修复转发自己发送的图片消息失败问题
    • 优化无网络状态发消息,消息内容立即上屏且显示发送状态

    # 版本 V3.6.6 2020-04-08

    新功能:

    • RTC 增加踢人api;
    • RTC 增加管理员转移 api和回调;
    • 加入房间时支持设置最大主播人数,nickname和扩展。

    # 版本 V3.6.5 2020-03-13

    新功能:

    • 支持白名单api,禁言api;
    • 增加自定义消息类型的api;
    • 增加创建白板和加入白板的api;
    • 增加joinRoom的api;
    • 添加对于对于加入音视频会议密码错误,或者主播已经满的错误提示;

    修复:

    • 修复自动登录设置后不起作用的问题;
    • 修复自定义视频输入时回调执行多次的问题;
    • 修复创建db时因权限问题导致的死循环;
    • 修复离线离开聊天室返回reason不准的问题;

    # 版本 V3.6.4 2020-02-12

    新功能:

    • 支持视频通话设置图片水印功能
    • 创建会议api,增加参数支持小程序,默认为不支持;
    • 兼容ios13 deviceToken;

    修复:

    • 修复iPhone 7前置摄像头黑屏的功能

    # 版本 V3.6.3 2020-01-03

    新功能:

    • 支持外部输入音频api
    • 支持设置私有部署的RTC 服务器api

    更新:

    • 降低长连接超时时间

    修复:

    • 修复共享桌面的bug
    • 修复部分ui问题;

    # 版本 V3.6.2 2019-11-13

    新功能:

    • 添加群组回执功能接口(增值服务,需要联系商务开通)

    更新:

    • 支持H264软编解码,提高音视频通话的兼容性;
    • 私有部署且未启用dns时,不尝试取服务器列表;
    • 添加音视频功能的一些关键log,方便排查问题;

    修复:

    • 增强iOS xr、xs、xs max 等设备在音视频时的稳定性;
    • 修复ios13时一些crash问题;
    • 修复部分ui问题;

    # 版本 V3.6.1 2019-08-02

    新功能:

    • 添加主播自己下麦的接口
    • 添加本地消息全局搜索的接口
    • 添加muteRemote接口

    修复:

    • 修复通话状态回调不准确的问题
    • 修复上传的文件大小超过限制提示慢问题
    • 修复1v1音视频设置最大码率无效
    • 修复demo部分功能

    # 版本 V3.6.0 2019-05-28

    新功能:

    • 增加会议属性功能,可以方便使用音视频会议实现特定的一些场景,具体可以参见语聊demo;
    • 增加语音会议伴音功能,具体可以参见语聊demo;
    • 在附件过大时返回相应的错误码,在附件过期或不存在时,返回相应的错误码;
    • 发起通话和创建会议时添加参数,是否开启服务端的录制和录制时是否合并流,通过录制id可以在服务器端查询;
    • 支持自定义图片消息缩略图的大小;

    更新:

    • 升级音视频引擎,优化噪声消除,改进性能,减少建立通话的时间等;
    • 从3.6.0版本中暂时移除了端上的录制功能,移动端可通过SDK参数配置每个通话是否录制,Web端如果也需要录制则需联系商务打开全端录制功能,该功能开启后优先级将高于SDK参数配置;
    • 优化批量消息保存方法,在批量保存后再给服务器确认消息,修复极端场景下消息未正确保存的问题;
    • 发起通话和创建会议时如果音视频服务未开通或者欠费,会返回相应的错误码;
    • 从3.6.0版本开始,sdk只支持ios9.0以上版本。
    • 修改一对一视频中自定义本地视频数据接口,旧的不再支持。

    修复:

    • 修复保存消息时消息数没有正确增加的问题;
    • 修复旧版本升级到新版本时无法获取缩略图的问题;

    # 版本 V3.5.5 2019-05-16

    修复:

    • 修复接收消息存储过程中发生异常,导致消息不能正常存储的bug。

    # 版本 V3.5.4 2019-03-27

    新功能:

    • 更新使用新版UI

    修复:

    • 修复个别上因为状态设置影响通话接通的问题;
    • 用户被禁用时登录,返回相应的错误码EMErrorServerServingForbidden;

    优化:

    • 修改文件存储路径;

    # 版本 V3.5.3 2019-01-18

    新功能:

    • 登录和注册UI更新
    • 登录和注册页面右上角添加扫描二维码快速登录功能,使用方式详见:http://console.easemob.com/app-detail/integration

    修复:

    • 某些情况下使用含大写字母的id发消息失败
    • Debug下log不能关闭
    • 设置中自动登录多次配置失效问题

    # 版本 V3.5.2 2018-11-06

    优化:

    • 更新Demo中1对1和多人实时音视频的UI
    • 移除IM SDK3.2.0及以前deprecated的方法

    修复:

    • 自动登录时无网络,导致获取自己在其他设备登录的id包含自己的bug
    • 个别情况下,连接失败时更新服务器列表的bug

    # 版本 V3.5.1 2018-09-13

    新功能:

    • 多人实时音视频添加动态修改最大视频码率接口[IEMConferenceManager updateConference:maxVideoKbps:]
    • 1v1实时音视频单独录制音频的功能[EMCallRecorderPlugin startAudioRecordWithCompletion:]和[EMCallRecorderPlugin stopAudioRecordWithCompletion:]

    修复:

    • Fix:实时音视频中接听普通电话,挂断后音频有问题

    优化:

    • 去掉了多人实时音视频中Mode相关方法,比如[IEMConferenceManager mode]

    # 版本 V3.5.0 2018-08-13

    新功能:

    • 为满足不同场景需求,3.5.0版本开始将实时音视频会议划分了不同的类型,不同类型对应了不同场景,使你能够轻松地将实时音视频功能集成到你的应用或者网站中。在创建会议时可以传入以下几种类型:
       1. Communication:普通通信会议,最多支持参会者6人,会议里的每个参会者都可以自由说话和发布视频,该会议类型在服务器不做语音的再编码,音质最好,适用于远程医疗,在线客服等场景;
       2. Large Communication:大型通信会议,最多参会者30人,会议里的每个参会者都可以自由说话,最多支持6个人发布视频,该会议模式在服务器做混音处理,支持更多的人说话,适用于大型会议等场景;
       3. Live:互动视频会议,会议里支持最多6个主播和600个观众,观众可以通过连麦与主播互动,该会议类型适用于在线教育,互动直播等场景。
    

    优化:

    • 优化实时音视频多人会议功能

    # 版本 V3.4.3 2018-07-18

    新功能:

    • 增加'只投递在线用户'消息属性,以节约消息量,目前只支持CMD类型消息。通过EMCmdMessageBody.isDeliverOnlineOnly=YES接口设置该属性

    # 版本 V3.4.2 2018-06-15

    新功能:

    • 通过消息邀请参加其他人参加多人实时音视频会议

    修复:

    • 1v1视频通话,iOS端接收视频后,偶尔会不显示视频画面

    请注意:为提供高质量且一致的音视频体验,从3.4.1版本开始,1v1 通话不再与3.1.5及以前版本兼容,请及时升级。

    # 版本 V3.4.1 2018-05-16

    优化:

    • 优化WiFi切4G时与服务器重连速度
    • 优化实时1对1通话

    新功能:

    • 新增音视频弱网检测回调
    • 新增加群时填写验证消息
    • 新增聊天室断线时被踢出聊天室回调

    请注意:为提供高质量且一致的音视频体验,从3.4.1版本开始,1v1 通话不再与3.1.5及以前版本兼容,请及时升级。

    # 版本 V3.4.0 2018-04-04

    新功能:

    • 实现不同模式的实时语音会议功能 多人音视频会议 (opens new window)
    • 添加动态更换对方实时视频显示页面的功能[IEMConferenceManager updateConference:streamId:remoteVideoView:completion:]

    # 版本 V3.3.9 2018-02-11

    新功能:

    • Demo层实现群组消息已读功能(发送方在EMMessage.ext中自定义字段用以表示是否需要已读回执,接收方用CMD消息实现已读回执)

    • SDK新增自定义实时视频传输数据接口(注意1:进行1v1自定义视频之前,必须设置EMCallOptions.enableCustomizeVideoData为YES,在进行默认1v1视频之前,必须确认EMCallOptions.enableCustomizeVideoData=NO;注意2:自定义视频必须设置EMCallSession.localVideoView.previewDirectly = NO; 注意3:Demo中相关代码前都添加了“3.3.9 new 自定义视频数据”)

    功能更新:

    • 精简Demo的功能,移除Demo中的红包功能,UI上体现在聊天页面底部“更多”去掉了红包相关的操作
    • 去掉Demo中的crash收集工具,替换成了Bugly.framework,存放在ChatDemo-UI3.0/3rdparty
    • 优化重连逻辑,解决用户迁移和服务器受攻击后部分用户连接服务超时的问题;

    # 版本 V3.3.8 2018-01-24

    新功能:

    • 服务诊断接口, demo UI体现在“setting-debug-服务器诊断”

    • 设置音频码率, 接口[EMCallOptions maxAudioKbps]

    • 添加新的错误码(达到服务器上限),体现在创建用户,创建群组,创建聊天室

    功能更新:

    • [EMClient isLoggedIn]语义有所改变,原意是是否已经完成登录操作,现在的意思是是否成功登录过

    # 版本 V3.3.7 2017-11-30

    新功能:

    • demo支持iPhoneX

    功能修复:

    • 消息时间戳相同时导致消息不能正确加载;
    • 离线消息在某些情况下会导致cmd与普通消息顺序不一致。

    # 版本 V3.3.6 2017-11-03

    新功能:

    • 多人音视频功能
    • 增加“是否自己实现消息附件上传下载”设置项 [EMOptions isAutoTransferMessageAttachments]
    • 增加“是否自动下载图片和视频缩略图及语音消息”设置项 [EMOptions isAutoDownloadThumbnail]

    功能修复:

    • 1v1实时音视频,接通后,一方静音后,另一方再触发静音操作不起作用;
    • 使用SDK下载接口,如果本地已经有同名文件,新的文件名会在原有文件名后边追加数字;
    • 断网情况下,自动登录无法获取会话
    • 使用SDK上传接口,进度回调第一次会返回100%

    # 版本 V3.3.5 2017-10-23

    新功能:

    • 增加了传输安全性
    • 增加广告插件,可以收集用户信息

    优化:

    • 私有部署设置dns的接口
    • 优化私有部署重连逻辑
    • 限制用户名长度为255
    • 需要服务器开通的功能接口返回SERVICE_NOT_ENABLED(505)
    • 添加i386库解决模拟器profile时的编译问题

    功能修复:

    • 修复4G与wifi切换时偶然出现发送消息失败的bug

    # 版本 V3.3.4 R1 2017-08-09

    功能修复:

    • 修复在用户名有下划线时发送消息失败的bug;

    # 版本 V3.3.4 2017-08-04

    新功能:

    • 新增:PC端和手机端登录同一个账号,两个设备之间互发消息;
    • 新增:消息漫游,从服务器分页获取历史消息;
    • 新增:消息撤回(增值功能)。

    功能修复及优化:

    • 优化删除一组会话时,回调只返回一次;
    • iOS SDK不再支持i386;
    • 修复录制音频文件时,音频权限判断。

    # 版本 V3.3.3 2017-07-21

    新功能:

    • 新增:支持在多个设备登录同一个账号,多个设备间可以同步消息,好友及群组的操作(多设备登录属于增值服务,需要联系商务开通);
    • 新增:群共享文件的大小属性;
    • 新增:获取同一账号登录的设备列表的接口,并可以选择踢掉某个设备上的登录;

    问题修复:

    • 移除传输附件大小10M以内的限制;
    • 修复邀请群成员时没有附带信息的bug;
    • 修复群组操作时必须获取所有已加入群组的问题;
    • 修复下载附件路径不存在或者打开错误时仍然下载成功的bug;
    • 修复切换账号时某些场景下崩溃的bug;
    • 修复获取群成员时最后一页cursor未更新的问题;
    • 修复调用异步删除好友接口,参数传“YES”不能删除会话。

    # 版本 V3.3.2 2017-05-18

    新功能:

    修复:

    • 修复有时调用getAllConversations时返回为空的bug
    • 修复获取已加入群组超时的bug

    # 版本 V3.3.1 2017-04-07

    新功能:

    • 新增:使用token登录
    • 新增:群组群成员进出群组回调

    优化:

    • 红包改用cocoapods方式集成,支持支付宝和京东支付

    修复:

    • insertMessage小概率下会崩溃
    • [EMMessage setTo:]赋值错误
    • 聊天室获取详情接口[IEMChatroomManager fetchChatroomInfo:includeMembersList:error:]第2个参数传入YES时不能获取成员
    • 2.x和3.x互通情况下,群组和聊天室的memberlist中出现admin和owner
    • 发送消息成功后,对应的EMConversation没有更新最后一条消息

    # 版本 V3.3.0 2017-03-07

    新功能:

    • 新增:群组改造,增加一系列新接口,具体查看iOS 3.3.0 api修改 (opens new window)
    • 新增:获取SDK日志路径接口,将日志文件压缩成.gz文件,返回gz文件路径,[EMClient getLogFilesPath:]
    • 更新:使用视频通话录制功能时,必须在开始通话之前调用[EMVideoRecorderPlugin initGlobalConfig]

    优化:

    • 优化DNS劫持时的处理
    • 切换网络时,减小消息重发的等待时间

    修复:

    • 音视频通话丢包率(以前返回的是丢包数)
    • IOS动态库用H264编码在iPhone6s上崩溃
    • 实时音视频新旧版互通崩溃

    # 版本 V3.2.3 2016-12-29

    新功能/优化:

    • 新增:实时1v1音视频,设置了对方不在线发送离线推送的前提下,当对方不在线时返回回调,以便于用户自定义离线消息推送
    • 更新:SDK支持bitcode
    • 更新:SDK使用动态库(为了方便集成开发,sdk支持i386,x86_64,armv7,arm64,当使用动态库上传appstore时,需要删除i386,x86_64),动态库集成方式 (opens new window)
    • 为了使SDK更简洁易用,过时的API会在后续3~5个版本进行删除

    红包相关: 新增:

    • 小额随机红包
    • 商户后台增加修改密码功能

    优化:

    • 绑卡后的用户验证四要素改为验证二要素
    • iOS和Android两端UI展示一致性
    • 支付流程的优化
    • SDK注册流程
    • 去掉XIB
    • 集成过程的参数检查
    • 风险策略

    修复:

    • SDKToken注册失败的问题
    • 发红包缺少参数的问题
    • 修复Emoji表情显示乱码
    • 修复支付密码可能误报出错
    • 修复商户自主配置红包最低限额错误
    • 修复零钱明细显示顺序错误问题
    • 修改抢红包流程为依赖后端数据
    • 修复支行信息返回为空时的文案

    # 版本 V3.2.2 R2 2016-12-14

    新功能/优化:

    • 修复3.2.2版本设置只使用https,某些情况下无法返回数据的问题

    # 版本 V3.2.2 2016-12-08

    新功能/优化:

    • SDK满足apple ATS的要求(EMOptions添加usingHttpsOnly参数,默认使用YES)
    • 删除好友逻辑的修改(增加是否删除会话选项)
    • 修复呼叫时对方不在线,不能正确显示通话结束原因的问题
    • 音视频EMCallOptions中添加了新接口,增加是否固定分辨率,最大视频帧率,最小视频码率接口.详情参考 API Doc (opens new window)
    • 音视频EMCallOptions中接口改动 videoKbps → maxVideoKbps

    # 版本 V3.2.1 2016-11-12

    新功能/优化:

    • 聊天室列表支持分页获取
    • EMOption中usingHttps默认为YES

    bug fix:

    • 修复Lite版本SDK编译warning的问题

    # 版本 V3.2.0 2016-10-15

    音视频包含大量升级改进,细节请参考集成文档

    • 增强的自适应视频质量算法,根据网络环境动态调整清晰度;
    • 优化了语音算法,通话更清晰;
    • 支持高清视频,画质更细腻;
    • 支持横屏和竖屏自由转换;
    • 支持画面fit和fill模式;

    红包功能改进:

    • 增加个人间转账功能
    • 增加拆红包音效

    其他改进:

    • iOS10进行适配
    • cmd消息增加“em_” 和 “easemob::” 开头的action为内部保留字段;
    • Fix 个别情况下会话未读消息数显示不准确的bug;
    • Fix 个别情况下获取联系人不正确的bug;
    • Fix 登录户马上加入聊天室某些情况下会失败的bug;
    • 发送语音或者视频时,如果文件内容过小会给出提示;
    • 优化读取数据库的性能;

    # 版本 V3.1.5 2016-8-26

    新功能:

    1. 提高SDK稳定性
    2. 去除依赖库(libcrypto.a,libcurl.a,libssl.a)
    3. 提高从2.x版本SDK数据库迁移效率
    4. 进一步修改api命名的规范性,建议使用新的api,具体详情可以参考接口文档 (opens new window)

    bug fix:

    1. 修改实时视频显示问题

    # 版本 V3.1.4 2016-7-08

    新功能:

    1. 聊天室增加可以获取成员和成员数的接口
    2. 会话增加接口- (BOOL)appendMessage:(EMMessage *)aMessage
    3. 提高SDK稳定性
    4. 支持群消息@功能(在EaseUI和Demo中实现)
    • 支持@all, “ext”:{“em_at_list”:“ALL”}支持
    • @单个或多个成员, “ext”:{“em_at_list”:[“username1”,“username2”]}
    • 如果用户设置了推送显示消息详情,被@的用户会收到推送 “XXX在群中@了我”

    红包相关:

    1. 支持群内的专属红包,只有指定用户才能抢红包;
    2. 支持支付宝;
    3. 支持系统发的群红包,用户只能看到自己的领取情况;
    4. 支持绑定多张银行卡,支持解绑银行卡;
    5. 零钱页支持充值;
    6. 改版零钱页;
    7. 支持上传身份证照片做第三通道验证;
    8. 红包UI细节打磨,包括双title和各个页面细节,安卓和iOS文案统一;
    9. 错误信息梳理,关键错误基于对话框引导;
    10. 服务端性能数倍的提升;
    11. 红包数据平台完善统计项;
    12. 其他优化:优化代码结构,剥离第三方库减少和开发者库的冲突;透传消息仅给发红包用户而非群内全部用户;优化token获取和更新机制;修复若干bug。

    # 版本 V3.1.3 2016-5-27

    新功能:

    1. SDK增加实时视频通话切换摄像头功能。
    2. SDK支持ipv6。
    3. 消息支持按照本地时间或者服务器时间排序。
    4. Demo支持单聊发送红包和群聊发送红包。

    bug fix:

    1. 修复自动同意好友请求有延迟的问题。

    SDK细节调整:

    1. SDK将第三方依赖从SDK静态库分离出来(libssl.a,libcrypto.a,libcurl.a)

    # 版本 V3.1.2 2016-4-22

    新功能:

    1. 增加消息搜索功能,可以根据消息类型或者关键字搜索。
    2. API 修改,加载消息方法增加方向参数。
    3. 优化绑定 deviceToken 逻辑。

    bug fix:

    1. Fix 修复发送系统表情时对方接到为乱码或空白的问题。

    # 版本 V3.1.1 2016-4-01

    新功能:

    1. 音视频增加弱网/断网检测功能。
    2. 音视频增加音频、视频流暂停、恢复功能。
    3. 音视频增加录制功能。
    4. 发送图片默认压缩图片,节约流量。

    bug fix:

    1. Fix iOS demo 退到后台后某些情况下 crash 的 bug。

    # 版本 V3.1.0 2016-3-06

    新功能:

    1. 增加了音视频功能,用户可以建立一对一的音频通话,视频通话。

    bug fix:

    1. 修复了扩展字段解析的问题。
    2. 修复了用户 ID 中有下划线时,会话中 ID 显示不完整的问题。

    # 版本 V3.0.1 2016-2-26

    bug fix:

    1. 修复部分设备在网络异常时启动 APP crash 的问题。
    2. 修复有时绑定 deviceToken 失败问题。
    3. 修复设置群组最大人数问题。
    4. 修复Demo添加好友黑名单 crash 的问题。

    # 版本 V3.0.0 2016-2-19

    1. 全新的通信协议:全新的基于消息同步的私有协议,在不稳定网络环境下更稳定更省流量,确保消息投递的可靠、顺序以及实时性,并具有更高的安全性。同时提供了更好的扩展性,将支持更多的对接和设备同步场景。
    2. 全新的 SDK:全面重构,将核心通信模块做了更好的封装;简化了接口,结构更清晰,集成更容易;提升了登录速度和弱网络环境下的可靠性编辑。
    更新时间:2023-03-16 17:27:24