美文网首页
关于环信的一些分享

关于环信的一些分享

作者: 特特特 | 来源:发表于2016-07-05 14:12 被阅读181次

最近项目中有一些关于聊天的需求,由于项目比较紧张,就使用的环信,对于项目来说,环信足够了,节省了自己封装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];

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

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

相关文章

  • 关于环信的一些分享

    最近项目中有一些关于聊天的需求,由于项目比较紧张,就使用的环信,对于项目来说,环信足够了,节省了自己封装XMPP的...

  • 关于集成环信的一些经验

    公司的项目已经接近尾声了,现在每天就是修改一些出现的BUG,闲来无事的时候,就想着这段时间集成环信遇到了很多问题,...

  • "环信"第二波 更改聊天头像,昵称等问题

    基于上次那篇有关环信的个人集成方法被环信周刊官方收录以后,一直没有再写环信相关知识. 今天我将在这继续写一下关于环...

  • 环信

    首先,关于环信SDK的下载和一些依赖库的添加,在此我就不做详细介绍,(http://www.easemob.com...

  • 关于环信3.xSDK日志简单分析

    个人博客:【lzan13 / 关于环信3.xSDK日志简单分析】 前言 首先说下环信日志保存的机制,这边只要是在开...

  • 关于环信2.xSDK日志简单分析

    个人博客:【lzan13 / 关于环信2.xSDK日志简单分析】 前言 首先说下环信日志保存的机制,这边只要是在开...

  • 关于环信登录问题

    #1 登录的时候报 User is alreay login #2 登录报错 200 这个问题,大部分在集成环信...

  • 宜璞第134期:微信将通过小程序,进一步抢占市场的移动端场景

    前两天连着两天我都跟大家分享了关于一些小程序的一些资讯。那今天再跟大家分享一个微信这块关于小程序一些新的动作。 就...

  • 环信聊天室demo

    开发一个直播项目需要用到环信聊天室,折腾后自己集成环信聊天不带语音版本,集成环信UI删减一些不要的东西1.需要在x...

  • 03-即时通讯 环信集成

    环信 环信是在XMPP的基础上进行的二次开发 环信在网络上传输的数据是XML环信 是否使用过环信,简单说一下环信的...

网友评论

      本文标题:关于环信的一些分享

      本文链接:https://www.haomeiwen.com/subject/fcspfttx.html