1、环信官网介绍
2、准备工作: 登录环信开发者账号并创建应用、制作并上传推送证书(开发、生产);
3、下载SDK:通过Cocoapods下载或到官网下载 ,对于Cocoapods下载:
不包含实时语音版本SDK(EaseMobClientSDKLite),引用时 #import <EaseMobSDK/EaseMob.h>
pod ‘EaseMobSDK‘, :git => ‘https://github.com/easemob/sdk-ios-cocoapods.git‘
包含实时语音版本SDK(EaseMobClientSDK),引用时 #import <EaseMobSDKFull/EaseMob.h>
pod ‘EaseMobSDKFull‘, :git => ‘https://github.com/easemob/sdk-ios-cocoapods-integration.git‘
4、 IOS SDK中有三个子文件夹:include、lib、resources
- lib 静态库,包含两个静态库libEaseMobClientSDK.a和libEaseMobClientSDKLite.a。libEaseMobClientSDKLite.a不包含实时语音功能,libEaseMobClientSDK.a包含所有功能。如果你的app中不需要实时语音功能,删掉libEaseMobClientSDK.a只使用libEaseMobClientSDKLite.a即可。
- resources sdk的bundle,包含旧版sdk的数据库、消息提示音,sdk配置文件。其中sdk配置文件已加密,旧版sdk数据库几乎没什么实质作用。
- include:
1> EaseMobClientSDK/EaseMobClientSDKLite 包含在项目中要引用的总头文件,即在代码中只需#import”EMSDKFull.h”或#import”EaseMob.h”即可调用所有对应的api。
2> CallService 包含实时语音相关的接口
3> ChatService 包含聊天相关的接口,比如注册、登录、退出、单聊、群聊、群组等
4> Utility 包含DeviceManager和ErrorManager。DeviceManager硬件相关接口,ErrorManager错误码定义
注:delegates文件夹包含各种代理接口,internal文件夹包含各种协议的声明,types文件夹包含各种实例的声明。
5、配置工程
1> 添加SDK,向Build Phases → Link Binary With Libraries 中添加依赖库
SDK依赖库有
- MobileCoreServices.framework
- CFNetwork.framework
- libEaseMobClientSDKLite.a
- libsqlite3.dylib
- libstdc++.6.0.9.dylib
- libz.dylib
- libiconv.dylib
- libresolv.dylib
- libxml2.dylib
2> 向Build Settings → Linking → Other Linker Flags 中 添加-ObjC(注意大小写)
3> 如果项目中使用-ObjC有冲突,可以添加-force_load来解决。格式为: -force_load[空格]EaseMobSDK/lib/libEaseMobClientSDKLite.a(静态库的路径)
6、若编译成功,则已成功集成了SDK。