由于公司项目暂时完结,我一边熟悉代码,也一边接触一下新的功能。 心血来潮,想做一下即时同时,就开始写一个demo练手。
可是没想到,这个sdk虽然是功能强大,可是在接入的时候却不是那么地友好。
sdk的接入这里就不作记录,官方文档写得非常详细,而且也非常简单。
我遇到的问题首先在EaseUI。
这是网上的集成步奏,首先这是基于easeUI 2.0的接入方法。我接的是easeUI 3.0.
集成进去的文件已经有了不同,首先EaseUI那个文件夹也一样是拖进去,可是现在最新的SDK下的easeUI根目录下已经没有了export文件夹,
我当时以为是我下的sdk文件缺失,上网找了非常久。后来仔细找找下载下来的文件,发现export里面的库跟步奏2的那个resource作了整合,
现在只需要直接按照步奏2接入就可以,去取步奏3.
另外,集成进去之后,也是一大堆报错。
首先是头文件的报错,里面绿色已经注释掉的代码是sdk原封不动的代码,报错报在
//#import <HyphenateLite_CN/EMClient.h>
//#import <HyphenateLite_CN/EMClientDelegate.h>
这两个库文件。可是我翻遍整个sdk,并没有这个库,我估计是以前版本的sdk库文件,历史遗留问题,我就把这两个类注释起来,没有报错。
然后这里有一个奇葩的地方是,上面两个头文件是存在这个sdk里的 ,可是也是没有寻找到,里面的类依然是报错,然后我把这两行代码迁移出if外,
整个项目有关于这个sdk的类都变颜色了,证明能够获取到这两个头文件了。 可能环信出于开发者的角度去考虑,在导入的时候给你两个选择,可
是这太特么反人类了。
爬过这个坑之后,编译项目,暂时成功,然后我就进行下面一步,根据基础功能注册,登录用户。
跳转到聊天界面。
根据文档去完成这个页面的单元格高度设定,和头像设定。
这里是第二个坑,虽然环信功能十分强大,可是文档却写的模凌两可的。对于我这种新手来说非常不友好。
这里是聊天单元格样式的自定义,我接进去之后,没有调用,也没有效果。后来一直点进去方法里面找,原来是当前聊天页面的代理方法,
官方文档里面并没有交代清楚,后来我在该视图控制器的初始化方法里面把self设为了代理,自己当自己的代理。 并在当前视图视图控制
器里面签订自己的协议。这两个协议方法才得以运行。
另外,这个设置聊天信息模型的数据源方法,注意是数据源方法。我一直犯傻在代理方法里面弄,弄到这个代理方法一直不执行,
。到后来发现的时候真是一口老血喷出来。
第三个坑, 就是聊天界面下面的功能按钮,是可以选择图片和调用相机的。
这三个权限一定要设置好,不然程序是会奔溃的。会崩溃会奔溃会崩溃。说三遍。
单聊界面的完成效果如下
ch
之后会继续完成其他功能。 继续分享;。。