关于环信的一些分享

最近项目中有一些关于聊天的需求,由于项目比较紧张,就使用的环信,对于项目来说,环信足够了,节省了自己封装XMPP的时间,同时后台那边也省事了,废话不多说,下面是我在搞环信的一些手段。

1.首先是注册环信https://console.easemob.com/index_register.html

2.导入环信SDK,两种方法第一种使用cocoapod 

第一种

通过 Cocoapods 下载地址

不包含实时语音版本SDK(EaseMobClientSDKLite),引用时 #import

pod 'EaseMobSDK', :git => 'https://github.com/easemob/sdk-ios-cocoapods.git'

包含实时语音版本SDK(EaseMobClientSDK),引用时 #import

pod 'EaseMobSDKFull', :git => 'https://github.com/easemob/sdk-ios-cocoapods-integration.git'

第二种

下载SDK手动导入

将下载好的 SDK 文件夹(EaseMobSDK)拖入到项目中,并勾选上 Destination。

设置工程属性

第 1 步:向 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

(如果使用的是 xcode7,后缀为 tbd)

第 2 步:向 Build Settings → Linking → Other Linker Flags 中添加 -ObjC(注意大小写)

(如果项目中使用 -ObjC 有冲突,可以添加 -force_load 来解决)

格式为: -force_load[空格]EaseMobSDK/lib/libEaseMobClientSDKLite.a(静态库的路径)

1. 先添加一个-force_load。

2. 将静态库拖动到上一步添加的 -force_load 下面。

最终效果:

编译工程

以上步骤进行完后,编译工程,如果没有报错,恭喜你,集成 SDK 成功,可以进行下一步了。

3.初始化环信

引入相关头文件 #import”EaseMob.h”(不需要实时语音功能)或者 #import”EMSDKFull.h”

在工程的 AppDelegate 中的以下方法中,调用 SDK 对应方法:

-(BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions{

//registerSDKWithAppKey: 注册的AppKey,详细见下面注释。

//apnsCertName: 推送证书名(不需要加后缀),详细见下面注释。

[[EaseMob sharedInstance]registerSDKWithAppKey:@"douser#istore"apnsCertName:@"istore_dev"];

[[EaseMob sharedInstance]application:application didFinishLaunchingWithOptions:launchOptions];returnYES;

}

// APP进入后台

-(void)applicationDidEnterBackground:(UIApplication*)application{

[[EaseMob sharedInstance]applicationDidEnterBackground:application];

}

// APP将要从后台返回

-(void)applicationWillEnterForeground:(UIApplication*)application{

[[EaseMob sharedInstance]applicationWillEnterForeground:application];

}

// 申请处理时间

-(void)applicationWillTerminate:(UIApplication*)application{

[[EaseMob sharedInstance]applicationWillTerminate:application];

}

这样下来基本上就是基本框架了

3.在登录和注册中环信提供了三种登录和注册的方法一种同步一种异步的block一种代理的在这里我个人推荐block的,阅读性比较强

4.在实际操作中一直找不到接收消息的代理如何添加后来也是翻阅资料找到的

[[EaseMob sharedInstance].chatManager addDelegate:self delegateQueue:nil];

[[EaseMobsharedInstance].chatManageraddDelegate:selfdelegateQueue:nil];

这两个个代理很重要它实现了几乎所有的关于聊天的方法,有什么需求基本上都能在代理里面找到

在开发中,我也是在摸索前进,希望这篇文章对大家有用处

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、准备工作 1、注册环信帐号 注册一个环信账号之后,我们用注册的帐号登陆。然后创建一个应用,会得到一个对应的Ap...
    樊二哈阅读 1,329评论 1 10
  • 上官网注册账号 首先来到环信的官网,然后登陆.没有账号先注册一个. 进去之后创建应用,如图 创建应用界面 点击确定...
    loneWolf01阅读 525评论 0 0
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,009评论 19 139
  • 一、准备工作 1、注册环信帐号注册一个环信账号之后,我们用注册的帐号登陆。然后创建一个应用,会得到一个对应的App...
    niceSYT阅读 421评论 1 2
  • 步骤如下: 1、下载SDKhttp://www.easemob.com/download证书下载上传后期发送消息 ...
    CMD独白阅读 1,179评论 1 9