Skip to content

环信IM优化版Demo -- 基于环信IM官方Demo(版本3.x)

Notifications You must be signed in to change notification settings

harzenmind/ChatDemo-UI3.00-Simple

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

图片名称   图片名称 ###说明 本项目是基于官方 ChatDemo-UI3.0 项目的简化封装,目的是为了让大家更加方便快速地集成环信IM功能。

###奋斗目标

  1. 分离第三方依赖库,避免与开发者现有项目的其它类库发生冲突;
  2. 抽象开发者可定制化的方法或配置参数;
  3. 其它未确定的封装工作,最终目的:高内聚,低耦合;
  4. 整理开发者开始集成时反馈的常见性问题,从实际项目考虑优化SDK集成的简易度。

###最终成果 1.便于开发者在新项目或现有项目快速集成环信SDK,实现聊天界面和会话列表功能,而且可以灵活地定制化一些基础模块; 2.低耦合,用尽可能少的代码集成环信功能,尽量少污染开发者的项目代码;

输入图片说明 如有任何问题,请联系QQ: 364223587

注意: 由于Git不支持上传大于100MB的文件,所以项目源码中不包含 libHyphenateFullSDK.a 文件,需要自行去官网下载http://www.easemob.com/download/im ,然后拷贝到目录【/ChatDemo-UI3.0-Sample/ChatDemo-UI3.0/ChatSDK/HyphenateFullSDK/lib】才能正常运行。

完整源码可到360网盘下载:https://yunpan.cn/cRUrKNyrc2PLA (提取码:3b54)

单独的 libHyphenateFullSDK.a 下载地址https://yunpan.cn/cRqx72ByhXRQG (提取码:b553)


经过对ChatUIDemo-UI3.0中的源码进行分析可知,用户初次集成EaseUI时,会遇到如下几个常见问题:

###问题1

引用Parse.framework、Bolts.framework时项目容易出错或出现Not found问题,其实这两个库并不是必须的,而且Facebook已经确定在2017年1月份停止提供Parse服务。
解决方案:删除Parse相关类,用 UserCacheManager替代管理用户缓存。

###问题2

ChatDemoHelper辅助类集成了很多聊天相关界面的操作方法,开发者一般会直接复用,但是ChatDemoHelper对MainViewController的函数依赖度比较高,比如

[weakself.mainVC setupUnreadMessageCount];
[self.mainVC networkChanged:connectionState];

解决方案:(1)将ChatDemoHelper中的mainVC类型更换成UIViewController;(2).将MainController中的几个方法用通知(NSNotificationCenter)实现;

###问题3

聊天相关页面与业务逻辑页面放在同一目录中,对于开发者来说,需要分拣; 解决方案:将环信相关的文件、资源统一放在【ChatUI】和【ChatSDK】目录中,方便开发者直接拖拽这两个文件夹即可快速集成聊天功能。

###关于昵称和头像的问题 IOS中如何显示开发者服务器上的昵称和头像 http://community.easemob.com/article/825307855

About

环信IM优化版Demo -- 基于环信IM官方Demo(版本3.x)

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Objective-C 99.3%
  • C 0.7%