环信导包,包丢失问题的处理

手动导入出现的问题:

第一步: 创建工程并去环信官网下载下载环信 SDK
第二步:把下载好的文件里的HyphenateSDK文件与EaseUI文件手动导入到你所创建的工程内
第三步:在TARGETS---General---Embedded Binaries里添加HyphenateLite.framework并运行项目
第四步:运行项目后会报错:'Hyphenate/Hyphenate.h' file not found

解决办法: 复制#if ENABLE_LITE ==1到搜索栏搜索出所有包含的类,因为这些类都会陆续报这种类似的错,一次性解决问题,下图是搜索结果.点开所有类删除除了#import 这个以外的所有if内的内容. (每个类剩余的不一样,分别为HyphenateLite/HyphenateLite.h,HyphenateLite/EMConversation.h,HyphenateLite/EMMessage.h,HyphenateLite/HyphenateLite.h,HyphenateLite/HyphenateLite.h,HyphenateLite/EMConversation.h)之后运行,这个错误解决
第五步:上述运行后会出现新的错误如(Cannot find interface declaration for xxx)
解决办法:在PrefixHeader.pch中导入#import即可解决,解决后再次运行项目
第六步:上述运行后出现新的错误如下图(Unknown type name "NSString")
解决方法:在左下角搜索类的方法里输入.c,搜索出所有是.c的类如(只搜索出一个),点开这个类,将属性的 identity and type改为Objective-C Source运行项目
第七步:上述运行后有时会出现"_SDScaledImageForKey", referenced from:这个问题,但有时不会出现(不会出现的情况下运行项目不会再继续报错)
出现这个问题解决办法:在左上角的搜索里输入inline进行搜索,点开这个类删除方法前缀“inline”即可解决。到此所有前期集成问题已全部解决.

使用cocoapods导入出现的问题

因为我的工程中有手动导入的重新封装过得MBProgressHUD,所以easeUI无法使用pods导入,故easeUI手工导入,如果你的项目中已经集成了SDWebImageMJRefreshMBProgressHUD, 那么删除EaseUI中的三个第三方。
删除是要注意:

  1. MBProgressHUD,只要删除MBProgressHUD.h, 和MBProgressHUD.m两个文件;
    2.MJRefresh,删除整个文件夹;
  2. SDWebImageEaseUI中叫做EMSDWebImage,删除该文件夹。此时运行项目还会报错,这时需要在项目的PCH文件中引入头文件:#importimport”EaseUI.h”,再将EaseUI中导入Hyphenate的地方均改为HyphenateLite(如果你导入的是Hyphenate则不会有此报错),将和SDWebImage相关的全面的EM删掉, 例如UIImage+EMGIF,删除EM变为UIImage+GIF;如果觉得不知道怎么找,那就command + B进行编译,报错后点开查看是和SDWebImage相关的吧前面的EM都删掉
  • APNs证书创建和上传到环信后台
  • 头像昵称的简述和处理方案
  • 音视频离线推送Demo实现
  • 环信服务器聊天记录保存多久?
  • 离线收不到好友请求
  • IOS中环信聊天窗口如何实现文件发送和预览的功能
  • ios集成常见问题
  • 环信推送的一些常见问题
  • 实现名片|红包|话题聊天室等自定义cell

你可能感兴趣的:(环信导包,包丢失问题的处理)