iOS 环信集成问题(连文档都不说明的坑。。)
首先,关于环信SDK的下载和一些依赖库的添加,在此我就不做详细介绍,(http://www.easemob.com/download/im)附上环信官网文档,可以看一下,上面都可以下载,也有相关配置介绍。
今天主要说一下,环信集成遇到的各种坑,各种问题,有的连文档都不说明的坑。。(主要是讲解完全集成环信,UI的聊天界面,单聊功能也是环信的这种情况)

各位可能刚在官网下载下来ChatDemo-UI3.0这个版本,会发现HyphenateFullSDK和官网文档有个不一样的地方,少了个文件(libHyphenateSDK.a)

而且你也可以看到,文档上面也说明有导入这个依赖库,这里你不用管,继续往下做就行,因为后面你会发现,根本就没有那个.a文件。接下来就是全部工作做完,你以为你要见证奇迹的时候了,(我主要说导入SDK之后编译没有错的情况,如果有问题的话,文档上有说明,百度上也有,我在此说的是文档没有说明的原因)。然后你会迫不及待的运行整个项目,但是你会发现出现一个错误:
dyld: Library not loaded: @rpath/Hyphenate.framework/Hyphenate
Referenced from: /Users/liangyi/Library/Developer/CoreSimulator/Devices/F3F0CB24-F891-489D-B71F-1AA6DA17832C/data/Containers/Bundle/Application/8D4D4F2E-A19F-4590-BE80-41403C735448/EMDemo.app/EMDemo
Reason: image not found
你看到最后一句感觉是少了一个图片,这个时候你就懵逼了,为啥导入环信会出现少了个图片呢?!你各种百度,估计也找不到问题的所在

你搜索的结果应该也是这样吧,而且你点开之后基本上里面全是英文,你更是一脸懵逼,可能你也会发现有人说把依赖库后面的status的状态改一下就能解决问题,把required改成optional,你也许会把Hyphenate.framework后面status给改了,然后你运行发现没错了,心里百般激动,但是问题又来了,你会发现,不能发送消息了,然后你各种百度,各种问,而且还感觉和文档上说的一样做出来的,但是就是不能发消息,也许找不到问题的所在,最后你会发现EaseMessageViewController这个文件里的_conversation = [[EMClient sharedClient].chatManager getConversation:conversationChatter type:conversationType createIfNotExist:YES];这个方法里的_conversation=nil,永远都是nil,这样肯定不能进行实时聊天的,这个是创建会话对象的方法,这个为空,还玩个卵。
最后说的就是解决的方案,如果你细心你会发现你的工程和demo的工程有个地方不一样

你会看到demo那里多个Hyphenate.framework,没错这里也要添加一个Hyphenate.framework(这就是连文档都不说明的地方),而且你也找不到原因,然后如果你之前把依赖库的status修改了,别忘了改回去,只要上面空白的地方加入Hyphenate.framework这个依赖库,整个环信单聊功能就完成了。
(初来乍到,在此只是本人开发中遇到的问题,拿来和各位大神分享一下,如果有不详细的地方,可以留言说出来,彼此相互学习,谢谢)
iOS 环信集成问题(连文档都不说明的坑。。)的更多相关文章
- iOS 环信集成项目应用
环信iOS端3.0版本集成记录--聊天界面篇 环信离线推送证书... 1,环信处在后台的时候,消息的接收与推送 离线发推送 配置属性 EMCallOptions *options = [[EMClie ...
- iOS 环信集成单聊界面,出现消息重复问题
解决办法很简单,数据重复就是EaseMessageViewController和ChatViewController重复调用了这个吧?//通过会话管理者获取收发消息 [self tableViewDi ...
- SpringBoot集成Swagger2在线文档
目录 SpringBoot集成Swagger2在线文档 前言 集成SpringBoot 登录接口文档示例 代码 效果 注解说明 总结 SpringBoot集成Swagger2在线文档 前言 不得不说, ...
- 集成IOS 环信SDK
集成IOS SDK 在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念. 下载SDK 通过Cocoapods下载地址 不包含实时语音版本SDK(EaseMobC ...
- 环信集成 2---基于环信Demo3.0,实现单聊功能
这几天在做环信,所以把环信相关的东西拿过来,做个系统点的东西 注意: 这里Demo集成的是带有实时语音功能的(libEaseMobClientSDK.a). 环信库是直接拖拽EaseMobSDK文件夹 ...
- iOS: 环信的推送
原文:http://m.blog.csdn.net/article/details?id=38824551 1.先创建一个apns证书,链接如下 http://developer.easemob.co ...
- SpringCloud微服务实战——搭建企业级开发框架(六):使用knife4j集成Swagger2接口文档
knife4j是为集成Swagger生成api文档的增强解决方案,前后端Java代码以及前端Ui模块进行分离,在微服务架构下使用更加灵活, 提供专注于Swagger的增强解决方案,不同于只是改善增强前 ...
- ios在项目中打开word文档、ppt等总结
最近在项目开发中遇到下载附件文档预览需求,在这里总结一下我的实现方法,本文最后会附带我写的demo下载地址 这里我总结了三种实现方法(1)用webView预览(2)通过UIDocumentIntera ...
- iOS 环信消息撤回
这两天在做环信的消息回撤,在网上找了许久没有这种案例,之后官方的一些方法,但是自己做,还是需要花点时间去整理,所以我决定等我把这个做好之后,分享给大家,如果做的不好多多指教,谢谢- 首先要实现消息撤回 ...
随机推荐
- POJ1975 Median Weight Bead floyd传递闭包
Description There are N beads which of the same shape and size, but with different weights. N is an ...
- 怎么把系统装进u盘(ultraiso)
首先要下载一个叫ultraiso的软件.可以在百度中搜索此软件下载.下载后安装,安装后打开软件,如图所示. 点击左上角的文件选项,在弹出的菜单中,点击打开选项,打开一个你要装进U盘的 ...
- WebGIS中前端JS生成等值面方法探讨
文章版权由作者李晓晖和博客园共有,若转载请于明显处标明出处:http://www.cnblogs.com/naaoveGIS/ 1.背景 在之前的博文<WebGIS中等值面展示的相关方案简析&g ...
- CharMatch(括号匹配)
用自己定义的链栈实现括号匹配 #include"LinkStack.h" bool Match(char *s) { LinkStack<char> tmpS; cha ...
- [您有新的未分配科技点]无旋treap:从好奇到入门(例题:bzoj3224 普通平衡树)
今天我们来学习一种新的数据结构:无旋treap.它和splay一样支持区间操作,和treap一样简单易懂,同时还支持可持久化. 无旋treap的节点定义和treap一样,都要同时满足树性质和堆性质,我 ...
- macOS Sierra Version 10.12.6 环境下Tomcat的下载与安装以及InterlliJ IDEA 2017.2 环境下配置Tomcat 与创建Web项目
一.Tomcat的下载与安装 1.官网(http://tomcat.apache.org/)下载Tomcat 9.0 Core:zip包: 2.解压到指定的文件夹即可安装完成: 3.测试是否安装成功 ...
- ThinkSNS+ 基于 Laravel master 分支,从 1 到 0,再到 0.1
什么是 ThinkSNS+ 09 年,由北京的团队开发了 ThinkSNS 涉足社交开源行业.这么多年累计不少客户.2014-2016,两年都在维护和开发之前基于 TP 的 ThinkSNS , 慢慢 ...
- Oracle安装oraInventory问题
Oracle安装oraInventory问题-----------------------------2013/10/15 在使用安装Oracle软件或者使用dbca创建数据库时,所有的日志都会放在o ...
- QT server服务端如何判断客户端断开连接
在QT编程中有时会用到server服务端与客户端进行TCP网络通信,服务端部分代码如下: 1.创建server用于监听客户端套接字 this->server = new QTcpServer(t ...
- Mac实用操作技巧(四)
在文档编辑状态下更改文件名.保存位置 在编辑文档的时候,有时候想随时更改文件名或者更改文件的保存位置.通常情况下,比如Windows环境中,想要更改文件名,首先需要关闭文档,否则不能修改:想要更改文档 ...