环信demo的集成问题

来源:互联网 发布:歌曲录音软件 编辑:程序博客网 时间:2024/06/04 01:12
  • 首先是导入环信的sdk,编译,这个过程的困难不是很多,简单提一下,首先下载好EaseMobSDK,这里注意一点的是,lib静态库中包括EaseMobClientSDKLiteEaseMobClientSDK这两种,如果你需要实时语音的话选择EaseMobClientSDK,否则选择EaseMobClientSDKLite,两者只能导入一个。
  • 其次添加需要的静态库
    MobileCoreServices.framework
    CFNetwork.framework
    ibsqlite3.dylib
    libstdc++.6.0.9.dylib
    libz.dylib
    libiconv.dylib
    libresolv.dylib
    libxml2.dylib
    (如果使用的是xcode7,后缀为tbd)
  • 最后向Build Settings → Linking → Other Linker Flags 中 添加-ObjC(注意大小写)

以上过程基本不会出现问题,在运行编译都能通过。
主要是环信UI的集成过程中会出现很多问题,官方也没有具体说如何导入,只是简略说一下参照demo,然后就开始将自定义过程,现在我将这个过程写一遍,大家仔细看好。


将这三个文件夹拖入项目中
可能会出现以下错误
  • 1、

    错误一

这个报错就是导入SDK是将EaseMobClientSDKLiteEaseMobClientSDK这两个静态库重复导入,删除不需要的即可。(如果上面已经删除过,忽略错误一)

  • 2、

错误二

了解这个错误首先要知道环信静态库lib,包含连个静态库libEaseMobClientSDK.alibEaseMobClientSDKLite.alibEaseMobClientSDKLite.a不包含实时语音功能,libEaseMobClientSDK.a包含所有功能。如果你的app中不需要实时语音功能,删掉libEaseMobClientSDK.a只使用libEaseMobClientSDKLite.a即可,需要实时音视频功能同理,删掉libEaseMobClientSDKLite.a即可。
-ObjC是配合libEaseMobClientSDK.a使用的,-force_load加静态库路径是配合libEaseMobClientSDKLite.a使用的,所以-force_load所加静态库路径是libEaseMobClientSDKLite.a的路径,不要混淆。
其次还有要导入FixFopen.c
地址如下:


FixFopen.c
  • 3、
    当你导入FixFopen.c时可能出现错误三

错误三

出现这个错误是你在导入


导入的文件

在导入上述文件的的时候没有添加所需要的依赖库,出现错误三只需要添加以下缺失的库文件:


依赖库
  • 4、

导入EaseUI时,需要配置pch文件,如果你项目中本身带有pch文件,将所需要的头文件导入你的项目中即可,但是导入可能会出现错误,如下(错误四)


pch

错误四

只需加上#ifdef __OBJC__
#endif条件即可。

还有在运行环信的过程中,会出现警告Warning!ivar size mismatch in PSUICollectionView_ - cannot change the superclass,其实这个警告是无任何影响的,解决办法非常简单,将PSTCollectionView.mchar filler[200] 替换成char filler[300]即可。

2 0
原创粉丝点击