环信集成本来认为很简单的,有现成的UI,照着文档直接傻瓜操作就行,没曾想聊天记录不能长时间保存,于是乎就有了这篇记录环信坑的笔记

在下载的环信的SDK时候里面会有两个包,一个完整版的,一个简洁版的,导入工程的时候只需要集成其中一个就行,如果导入两个则会报错

问题一  集成的时候定位到NSString的错误,错误如下图

解决方法:在自己工程的pch文件中添上

#ifdef __OBJC__

#endif  这两个一定要在pch文件的头部和尾部,要包括所有的pch文件的内容

问题二 定位到NSLocalizedString的错误

解决方法:在自己pct文件中添加   #define NSEaseLocalizedString(key, comment) [[NSBundle bundleWithURL:[[NSBundle mainBundle] URLForResource:@"EaseUIResource"withExtension:@"bundle"]] localizedStringForKey:(key) value:@"" table:nil]

问题三  再导入环信的时候,里面已经集成了一些常用的第三方,会与工程中的第三方冲突删除即可, 另外在resource文件中有一个plist文件,据说这个plist文件会导致上传出现错误,但没有验证,发现删除之后没报什么错误,就果断删之  如下图

上面的集成问题一般都是这些,至于使用环信的错误一般都会有错误码,可对照环信文档错误码来对照排除错误,下面说下一些关于

聊天记录在自己服务器保存的问题,上面提到环信不会长时间保存聊天记录,所以如果长时间需要保存聊天记录的话就需要咱们自己做保存,另外 环信的聊天记录都是从本地读取的,删除聊天记录也是删除本地的,至于表情则是文本(NSString类型),而且手机端和web端的表情也不一样(你会发现你发过去一个笑脸,到那边会是一个皱眉或者一个哭脸,这是逗为什么不做统一呢)

聊天记录保存 :  聊天保存的话这就需要和后台来制定自己的规则了,可以在发送信息的时候来保存,也可以后台通过方法从环信服务器导出方法,但这个导出只能导出最近三天的,而且还不能根据某个会话单独导出记录,所以这个方法并不是太好,在此我是发送信息保存的(这样保存如果一旦保存失败则会没有这条聊天记录,没发弥补)

表情不同:表情不同直接跟web端对照有哪些不同,发现大多数表情对应的寓意还是相同,就是表情不一样,这样都好办了,寓意相同就行,在SDK中有这样一个类    #import"EaseConvertToCommonEmoticonsHelper.h"  里面对应的是两个方法,直接和web端同意就行

 加载服务器消息:  既然聊天记录自己保存了,肯定要加载咱们自己的聊天记录啦,这里加载的话可以首先构造消息写入本地,然后插入到本地,构建模型EaseMessageModel,保存到dataArray中,刷新UI,当然这是我的做法也会有其他的做法,如果出现标志发送失败的标记的话直接在构造消息的时候设置消息属性就行,

设置头像和昵称   

- (id<IMessageModel>)messageViewController:(EaseMessageViewController *)viewController

modelForMessage:(EMMessage *)message

{

id<IMessageModel> model = nil;

model = [[EaseMessageModel alloc] initWithMessage:message];

if (model.isSender) {

自己发送   头型昵称直接设置model属性就行

}else{

别人发送

}

原文:http://blog.csdn.net/jx_zls/article/details/53982421

环信EaseUI集成错误 Unknown type name 'NSString' NSLocalizedString的更多相关文章

  1. 环信easeui集成:坑总结2018

    环信EaseUI 集成,集成不做描述,看文档即可,下面主要谈一些对easeui的个性化需求修改. 该篇文章将解决的问题: 1.如何将App用户体系的用户名和用户头像 显示于环信的easeui 2.如何 ...

  2. 环信easeui集成:坑总结2018(二)

    环信EaseUI 集成,集成不做描述,看文档即可,下面主要谈一些对easeui的个性化需求修改. 该篇文章将解决的问题: 1.如何发送视频功能 2.未完待续.. ------------------- ...

  3. 李洪强iOS开发之-环信03_集成 SDK 基础功能

    李洪强iOS开发之-环信03_集成 SDK 基础功能 集成 SDK 基础功能 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. SDK 同步/异步方法区分 ...

  4. iOS开发——导入第三方库引起的unknown type name 'NSString'

    今天加入SVProgressHUD的第三方库的时候报了24个错误( too many errors emitted, stopping now),都是 expected identifier or ' ...

  5. unknow Unknown type name 'NSString'

    转载:geweb 今天看到个问题,编辑工程提示Unknown type name 'NSString',如下图 导致出现异常的原因是是因为工程中添加了ZipArchive(第三方开源解压缩库) 一般情 ...

  6. Unknown type name 'NSString' 解决方案

    今天看到个问题,编辑工程提示Unknown type name 'NSString',如下图 导致出现异常的原因是是因为工程中添加了ZipArchive(第三方开源解压缩库) 一般情况下出现“Unkn ...

  7. Unknown type name 'NSString'

    今天看到个问题,编辑工程提示Unknown type name 'NSString',如下图 导致出现异常的原因是是因为工程中添加了ZipArchive(第三方开源解压缩库) 一般情况下出现“Unkn ...

  8. 由于源码使用是c\c++与oc混编导致Unknown type name 'NSString'

    今天看到个问题,编辑工程提示Unknown type name 'NSString',如下图 解决方案三: 将Compile Sources As 改为 Objective-C++

  9. 环信SDK集成

    利用环信SDK可以实现即时通讯,但在集成的过程中碰到了不少的坑. 注意 选择项目路径,这里以最新版环信demo为例 注意:环信的ChatDemoUI这个demo里边因为研发的同事为了照顾老版本的And ...

随机推荐

  1. Python 编码风格指南

    原文:http://python.jobbole.com/84618/ 本文超出 PEP8 的范畴以涵盖我认为优秀的 Python 风格.本文虽然坚持己见,却不偏执.不仅仅涉及语法.模块布局等问题,同 ...

  2. 'Lock wait timeout exceeded; try restarting transaction'问题

    OperationalError: (1205, 'Lock wait timeout exceeded; try restarting transaction') 原因很简单,太多错误,意外处理没有 ...

  3. DOpus 10.5 使用帮助

    在线手册 http://www.dearopus.com/ http://resource.dopus.com/ http://www.gpsoft.com.au/help/opus10/ 应急截图编 ...

  4. 性能测试工具——Mxdperfstat

    Mxdperfstat是一款mxd性能检测工具,使用它来测试专题地图的性能非常不错! 获取工具 https://www.arcgis.com/home/item.html?id=a269d03aa1c ...

  5. loadrunner -27492超时

  6. java动态代理_aop2

      一.什么是代理? 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问.代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理. 代理模 ...

  7. unity的 Social API

    孙广东  2015.12.23 Social API Social API 是訪问的Unity 的point 社会功能.如:• 用户配置文件• 好友列表• 成就• 统计 / 排行榜      它提供了 ...

  8. python 第三库卸载办法

    Microsoft Windows [版本 6.1.7601]版权所有 (c) 2009 Microsoft Corporation.保留所有权利. C:\Users\Administrator> ...

  9. LVM逻辑卷管理测试——创建逻辑卷

    虚拟机里再添加两块硬盘,如下所示: 启动系统后,我们可以看到新添加的两块硬盘为/dev/sdb和/dev/sdc.每个2GB. [root@lxjtest ~]# fdisk -l Disk /dev ...

  10. Win7 64bit下值得推荐的免费看图软件

    自从更换到Win7 64bit后, 用了十多年的AcdSee3.x不能再正常工作了. 找到了两个替代品: Faststone Image Viewer 和 XnView Faststone Image ...