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 环信消息撤回
这两天在做环信的消息回撤,在网上找了许久没有这种案例,之后官方的一些方法,但是自己做,还是需要花点时间去整理,所以我决定等我把这个做好之后,分享给大家,如果做的不好多多指教,谢谢- 首先要实现消息撤回 ...
随机推荐
- 在 overlay 中运行容器 - 每天5分钟玩转 Docker 容器技术(51)
上一节我们创建了 overlay 网络 ov_net1,今天将运行一个 busybox 容器并连接到 ov_net1: 查看容器的网络配置: bbox1 有两个网络接口 eth0 和 eth1.eth ...
- TASKCTL敏捷调度理念的诠释
功能完整是基本,简单易用才是王道,这就是TASKCTL对敏捷的朴素定义.功能少,怎么复杂也会简单:而功能体系完整,怎么简单也会复杂.因此,简单与复杂是相对的,而TASKCTL正是追求那种在功能完整不可 ...
- IntelliJ IDEA javaDoc的使用
文档注释的风格看个人主要说一下在idea中如何配置和使用快捷的文档注释 1.想像Eclipse一样使用 /**来写文档注释可以通过settings下的Live Templates来设置如下图所示 ja ...
- Mysql元数据生成Hive建表语句注释脚本
在将数据从Mysql 等其他关系型数据库 抽取到Hive 表中时,需要同步mysql表中的注释,以下脚本可以生成hive表字段注释修改语句. 注:其他关系型数据库如:oracle 可以通过相同的思路, ...
- ps命令用法
转自:http://www.cnblogs.com/peida/archive/2012/12/19/2824418.html Linux中的ps命令是Process Status的缩写.ps命令用来 ...
- 国内阿里Maven仓库镜像及自己收集镜像库
国内阿里Maven仓库镜像Maven配置文件Maven仓库速度快 国内连接maven官方的仓库更新依赖库,网速一般很慢,收集一些国内快速的maven仓库镜像以备用. 最新更新:2016年11月11 ...
- Selenium实现的技巧
截图功能: try { File srcFile = ((TakesScreenshot)dr).getScreenshotAs(OutputType.FILE); ...
- 云端TensorFlow读取数据IO的高效方式
低效的IO方式 最近通过观察PAI平台上TensoFlow用户的运行情况,发现大家在数据IO这方面还是有比较大的困惑,主要是因为很多同学没有很好的理解本地执行TensorFlow代码和分布式云端执行T ...
- 从理解开始 谈谈px rem 和 em 的区别与联系
概述 古语有云,没有规矩则不成方圆.秦灭六国之后为了促进国内生产力的发展,也是大力推进全国度量衡的统一.车同轨,书同文.与"尺寸"相关的问题(手动滑稽),从古至今一直为人们所关注. ...
- 【LeetCode】数组-6(561)-Array Partition I(比较抽象的题目)
题目描述:两句话发人深思啊.... Given an array of 2n integers, your task is to group these integers into n pairs o ...