環(huán)信3.0ios客戶端的集成(二)

版本記錄

版本號(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框架
  • 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ù)自己的需求選擇使用下面的模塊:

SDK的模塊化結(jié)構(gòu)
  • 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。

導(dǎo)入到工程

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ì)大家有所幫助。

真美!
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容