版本記錄
| 版本號(hào) | 時(shí)間 |
|---|---|
| V1.0 | 2017.06.08 |
前言
很多app種都集成環(huán)信做第三方信息通訊工具,這里我們就看一下環(huán)信的主要功能和集成方法。先給出環(huán)信3.0的地址。
感興趣的可以參考:
1. 環(huán)信ios客戶端的集成(一)
一、iOS SDK 介紹
環(huán)信 SDK 為用戶開(kāi)發(fā) IM 相關(guān)的應(yīng)用提供的一套完善的開(kāi)發(fā)框架。包括以下幾個(gè)部分:

- SDK_Core: 為核心的消息同步協(xié)議實(shí)現(xiàn),完成與服務(wù)器之間的信息交換。
- SDK: 是基于核心協(xié)議實(shí)現(xiàn)的完整的 IM 功能,實(shí)現(xiàn)了不同類型消息的收發(fā)、會(huì)話管理、群組、好友、聊天室等功能。
- EaseUI: 是一組 IM 相關(guān)的 UI 控件,旨在幫助開(kāi)發(fā)者快速集成環(huán)信 SDK。
SDK 采用模塊化設(shè)計(jì),每一模塊的功能相對(duì)獨(dú)立和完善,用戶可以根據(jù)自己的需求選擇使用下面的模塊:

- EMClient: 是 SDK 的入口,主要完成登錄、退出、連接管理等功能。也是獲取其他模塊的入口。
- EMChatManager: 管理消息的收發(fā),完成會(huì)話管理等功能。
- EMContactManager: 負(fù)責(zé)好友的添加刪除,黑名單的管理。
- EMGroupManager: 負(fù)責(zé)群組的管理,創(chuàng)建、刪除群組,管理群組成員等功能。
- EMChatroomManager: 負(fù)責(zé)聊天室的管理。
目前環(huán)信的版本是3.0,如果2.0升級(jí)到3.0請(qǐng)參考:版本升級(jí)
二、視頻教程
為方便開(kāi)發(fā)者快速集成環(huán)信,提供了視頻教程,下面給出地址:
三、集成 iOS SDK
注意:下載SDK (sdk 3.2.3之后只提供動(dòng)態(tài)庫(kù)版本)
由于 iOS 編譯的特殊性,為了方便開(kāi)發(fā)者使用,我們將 i386 、x86_64、 armv7 、arm64 幾個(gè)平臺(tái)都合并到了一起,所以使用動(dòng)態(tài)庫(kù)上傳appstore時(shí)需要將i386 x86_64兩個(gè)平臺(tái)刪除后,才能正常提交,刪除方式請(qǐng)參考下文中的“集成動(dòng)態(tài)庫(kù)上傳AppStore”。
方式一:cocoapods集成
不包含實(shí)時(shí)語(yǔ)音版本 SDK(HyphenateLite),引用時(shí) #import <HyphenateLite/HyphenateLite.h>
pod 'HyphenateLite'
包含實(shí)時(shí)語(yǔ)音版本 SDK(Hyphenate),引用時(shí) #import <Hyphenate/Hyphenate.h>
pod 'Hyphenate'
方式二:手動(dòng)導(dǎo)入
您可以到環(huán)信官網(wǎng)下載環(huán)信 SDK。
四、SDK 目錄講解
從官網(wǎng)上下載下來(lái)的包中分為如下五部分:
- 環(huán)信 iOS HyphenateSDK 開(kāi)發(fā)使用(不包含實(shí)時(shí)通話功能)
- 環(huán)信 iOS HyphenateFullSDK 開(kāi)發(fā)使用(包含實(shí)時(shí)通話功能)
- 環(huán)信 iOS doc SDK 相關(guān)API文檔
- 環(huán)信 iOS ChatUIDemo3.0 工程源碼
- 環(huán)信 iOS EaseUI 工程源碼
- 環(huán)信 iOS chatdemo-ui-3.x.x.ipa 打包的 ipa
具體接口講解請(qǐng)轉(zhuǎn)到 Apple Docs。
五、第三方庫(kù)介紹
1.EaseUI 中用到的第三方庫(kù):
- MWPhotoBrowser: 圖片處理庫(kù),瀏覽顯示
- MJRefresh: 用于頁(yè)面刷新
- MBProgressHUD: 用于提示加載刷新
- libopencore-amrnb.a,libopencore-amrwb.a: 用于 amr 與 wav 之間的轉(zhuǎn)換
2.Demo 中用到的第三方庫(kù):
- Parse.framework、Bolts.framework: Demo 中的用戶信息存儲(chǔ)在 Parse,這兩個(gè)庫(kù)是 Parse 所需要的庫(kù),開(kāi)發(fā)者如果沒(méi)用 - Parse 存儲(chǔ),不要復(fù)制到自己項(xiàng)目中
- libMobClickLibrary.a: 友盟相關(guān)的庫(kù),用于環(huán)信 Demo 基本信息的統(tǒng)計(jì),開(kāi)發(fā)者不用或者已有別的版本的庫(kù)不要復(fù)制到自己項(xiàng)目
六、配置工程
1. 導(dǎo)入 SDK(動(dòng)態(tài)庫(kù))
將下載好的 SDK 文件夾(HyphenateSDK)拖入到項(xiàng)目中,并勾選上 Destination。

2.設(shè)置工程屬性
第 1 步:向General → Embedded Binaries 中添加依賴庫(kù)。

七、集成動(dòng)態(tài)庫(kù)上傳AppStore
由于 iOS 編譯的特殊性,為了方便開(kāi)發(fā)者使用,我們將 i386 x86_64 armv7 arm64 幾個(gè)平臺(tái)都合并到了一起,所以使用動(dòng)態(tài)庫(kù)上傳appstore時(shí)需要將i386 x86_64兩個(gè)平臺(tái)刪除后,才能正常提交審核
在SDK當(dāng)前路徑下執(zhí)行以下命令刪除i386 x86_64兩個(gè)平臺(tái)。
1.實(shí)時(shí)音視頻版本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.不包含實(shí)時(shí)音視頻版本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/
后記
未完,待續(xù)~~~,希望對(duì)大家有所幫助。
