环信3.0ios客户端的集成(二)

版本记录

版本号 时间
V1.0 2017.06.08

前言

很多app种都集成环信做第三方信息通讯工具,这里我们就看一下环信的主要功能和集成方法。先给出环信3.0的地址。
感兴趣的可以参考:
1. 环信ios客户端的集成(一)

一、iOS SDK 介绍

环信 SDK 为用户开发 IM 相关的应用提供的一套完善的开发框架。包括以下几个部分:

环信3.0ios客户端的集成(二)_第1张图片
SDK框架
  • SDK_Core: 为核心的消息同步协议实现,完成与服务器之间的信息交换。
  • SDK: 是基于核心协议实现的完整的 IM 功能,实现了不同类型消息的收发、会话管理、群组、好友、聊天室等功能。
  • EaseUI: 是一组 IM 相关的 UI 控件,旨在帮助开发者快速集成环信 SDK。

SDK 采用模块化设计,每一模块的功能相对独立和完善,用户可以根据自己的需求选择使用下面的模块:

环信3.0ios客户端的集成(二)_第2张图片
SDK的模块化结构
  • EMClient: 是 SDK 的入口,主要完成登录、退出、连接管理等功能。也是获取其他模块的入口。
  • EMChatManager: 管理消息的收发,完成会话管理等功能。
  • EMContactManager: 负责好友的添加删除,黑名单的管理。
  • EMGroupManager: 负责群组的管理,创建、删除群组,管理群组成员等功能。
  • EMChatroomManager: 负责聊天室的管理。

目前环信的版本是3.0,如果2.0升级到3.0请参考:版本升级


二、视频教程

为方便开发者快速集成环信,提供了视频教程,下面给出地址:

  • IOS环信集成
  • Swift环信集成

三、集成 iOS SDK

注意:下载SDK (sdk 3.2.3之后只提供动态库版本)

由于 iOS 编译的特殊性,为了方便开发者使用,我们将 i386 、x86_64、 armv7 、arm64 几个平台都合并到了一起,所以使用动态库上传appstore时需要将i386 x86_64两个平台删除后,才能正常提交,删除方式请参考下文中的“集成动态库上传AppStore”。

方式一:cocoapods集成

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

pod 'HyphenateLite'

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

pod 'Hyphenate'

方式二:手动导入

您可以到环信官网下载环信 SDK。


四、SDK 目录讲解

从官网上下载下来的包中分为如下五部分:

  • 环信 iOS HyphenateSDK 开发使用(不包含实时通话功能)
  • 环信 iOS HyphenateFullSDK 开发使用(包含实时通话功能)
  • 环信 iOS doc SDK 相关API文档
  • 环信 iOS ChatUIDemo3.0 工程源码
  • 环信 iOS EaseUI 工程源码
  • 环信 iOS chatdemo-ui-3.x.x.ipa 打包的 ipa
    具体接口讲解请转到 Apple Docs。

五、第三方库介绍

1.EaseUI 中用到的第三方库:

  • MWPhotoBrowser: 图片处理库,浏览显示
  • MJRefresh: 用于页面刷新
  • MBProgressHUD: 用于提示加载刷新
  • libopencore-amrnb.a,libopencore-amrwb.a: 用于 amr 与 wav 之间的转换

2.Demo 中用到的第三方库:

  • Parse.framework、Bolts.framework: Demo 中的用户信息存储在 Parse,这两个库是 Parse 所需要的库,开发者如果没用 - Parse 存储,不要复制到自己项目中
  • libMobClickLibrary.a: 友盟相关的库,用于环信 Demo 基本信息的统计,开发者不用或者已有别的版本的库不要复制到自己项目

六、配置工程

1. 导入 SDK(动态库)

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

环信3.0ios客户端的集成(二)_第3张图片
导入到工程

2.设置工程属性

第 1 步:向General → Embedded Binaries 中添加依赖库。

环信3.0ios客户端的集成(二)_第4张图片
配置工程

七、集成动态库上传AppStore

由于 iOS 编译的特殊性,为了方便开发者使用,我们将 i386 x86_64 armv7 arm64 几个平台都合并到了一起,所以使用动态库上传appstore时需要将i386 x86_64两个平台删除后,才能正常提交审核

在SDK当前路径下执行以下命令删除i386 x86_64两个平台。

1.实时音视频版本Hyphenate.framework

lipo Hyphenate.framework/Hyphenate -thin armv7 -output Hyphenate_armv7
lipo Hyphenate.framework/Hyphenate -thin arm64 -output Hyphenate_arm64
lipo -create Hyphenate_armv7 Hyphenate_arm64 -output Hyphenate
mv Hyphenate Hyphenate.framework/

2.不包含实时音视频版本HyphenateLite.framework

lipo HyphenateLite.framework/HyphenateLite -thin armv7 -output HyphenateLite_armv7
lipo HyphenateLite.framework/HyphenateLite -thin arm64 -output HyphenateLite_arm64
lipo -create HyphenateLite_armv7 HyphenateLite_arm64 -output HyphenateLite
mv HyphenateLite HyphenateLite.framework/

后记

未完,待续~~~,希望对大家有所帮助。

环信3.0ios客户端的集成(二)_第5张图片
真美!

你可能感兴趣的:(环信3.0ios客户端的集成(二))