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 环信消息撤回
这两天在做环信的消息回撤,在网上找了许久没有这种案例,之后官方的一些方法,但是自己做,还是需要花点时间去整理,所以我决定等我把这个做好之后,分享给大家,如果做的不好多多指教,谢谢- 首先要实现消息撤回 ...
随机推荐
- Nlpir Parser灵玖文本语义挖掘系统数据采集
在计算机广泛应用的今天,数据采集的重要性是十分显著的.它是计算机与外部物理世界连接的桥梁.各种类型信号采集的难易程度差别很大. 灵玖软件Nlpir Parser文本语义挖掘系统以分词技术为基础,集成了 ...
- 微信客户端+微信公众平台+新浪云SAE+Arduino+WS100(控制LED)
第一步:准备 1.智能手机微信客户端或微信电脑版 2.注册微信公众平台 https://mp.weixin.qq.com 3.注册新浪账号 http://www.sinacloud.com 4.拥有一 ...
- 5. Leetcode 448. Find All Numbers Disappeared in an Array
Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and ot ...
- Ext js Grid
Ext.onReady(function () { var proxy = new Ext.data.HttpProxy({ ur ...
- Java restful web service 开发入门
可用的框架有不少,我用的是jersey. 直接上代码,其实,如果你会web service 这个restful的就很好理解了,自己跑一遍就OK了 用到的类 User.java package demo ...
- properties文件作用以及在哪些地方用
import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...
- NYOJ116 士兵杀敌(二)
士兵杀敌(二) 时间限制:1000 ms | 内存限制:65535 KB 难度:5 描述 南将军手下有N个士兵,分别编号1到N,这些士兵的杀敌数都是已知的. 小工是南将军手下的军师,南将军经常 ...
- MySQL进程处于Waiting for table flush的分析
最近遇到一个案例,很多查询被阻塞没有返回结果,使用show processlist查看,发现不少MySQL线程处于Waiting for table flush状态,查询语句一直被阻塞,只能通过K ...
- ubuntu 创建 PyCharm 桌面快捷方式 (或者叫 启动器 )
优麒麟新出的 17.04 新加了各种软件支持.忍不住体验一把.可是安装完 PyCharm 之后,总是无法创建桌面快捷方式(这种说法貌似是windows的,ubuntu不认,它管这种方式 叫 启动器). ...
- 利用angular打造管理系统页面
1 创建一个新的angular应用 ng new adminSystem 2 利用WebStorm打开adminSystem应用 3 借助AdminLTE这个开源项目来辅助开发 AdminLTE项目: ...