簡介
騰訊云 TUIKit
TUIKit 是基于騰訊云 IMSDK 的一款 UI 組件庫,里面提供了一些通用的 UI 組件,開發(fā)者可通過該組件庫選取自己所需要的組件快速的搭建一個 IM 應(yīng)用。
IM 軟件都具備一些通用的 UI 界面,如會話列表,聊天界面等。TUIKit 提供了這一類的組件,并提供了靈活的 UI 和交互擴展接口,方便用戶做個性化開發(fā)。
IMSDK 與 TUIKit 的結(jié)合
騰訊云 IMSDK 提供了 IM 通信所需的各種基礎(chǔ)能力,如通信網(wǎng)絡(luò),消息收發(fā)、存儲,好友關(guān)系鏈,用戶資料等。 TUIKit 中的組件在實現(xiàn) UI 功能的同時調(diào)用 IMSDK 相應(yīng)的接口實現(xiàn)了 IM 相關(guān)邏輯和數(shù)據(jù)的處理,因而開發(fā)者在使用 TUKit 時只需關(guān)注自身業(yè)務(wù)或做一些個性化的擴展即可。
下面我們將指導(dǎo)您如何快速的接入和使用 TUIKit。
帳號相關(guān)的基本概念
這里我們先來了解帳號相關(guān)的幾個概念。
用戶標(biāo)識(userId):
userId(用戶標(biāo)識)用于在一個 IM 應(yīng)用中唯一標(biāo)識一個用戶,即我們通常所說的帳號。這個一般由開發(fā)者自己的服務(wù)生成,即用戶信息的生成(注冊)需由開發(fā)者實現(xiàn)。用戶簽名(userSig):
userSig(用戶簽名)是用于對一個用戶進行鑒權(quán)認證,確認用戶是否真實的。即用戶在開發(fā)者的服務(wù)里注冊一個帳號后,開發(fā)者的服務(wù)需要給該帳號配置一個由 usersig,后續(xù)用戶登錄 IM 的時候需要帶上 usersig 讓 IM 服務(wù)器進行校驗。用戶簽名生成方法可參考 生成簽名 文檔。
了解了前面的概念后,您可以通過下圖了解集成了 IMSDK 應(yīng)用的注冊/登錄流程。
[圖片上傳失敗...(image-db2861-1548745492768)]
首先用戶的終端需要向您的服務(wù)器注冊帳號(userid),您的服務(wù)器在進行注冊業(yè)務(wù)處理時,按照用戶簽名文檔中的方法生成一個該用戶的 usersig,并返回給客戶端??蛻舳嗽偻ㄟ^該 userid 和 usersig 到 IMSDK 進行登錄操作。
為方便開發(fā)者接入開發(fā)測試,我們在騰訊云控制臺提供了快速生成 usersig 的工具(在這之前您需要先在騰訊云創(chuàng)建自己的 IM 應(yīng)用,可參考 云通信 IM 入門)。登錄控制臺后選擇-【云通信】-【應(yīng)用列表】(選擇您當(dāng)前在使用的應(yīng)用)-【應(yīng)用配置】-【開發(fā)輔助工具】,參考上面說明即可生成 usersig。
集成TUIKit
1, 從 Git 下載 ImSDK 開發(fā)包,TUIKit 源碼所在的位置如下:

2 ,以 TUIKitDemo 為例,參考下圖,直接把 TUIKit 拖入 TUIKitDemo 工程中,然后編譯TUIKit 工程生成 TUIKit.framework , 接著把 TUIKit.framework 和 Imsdk.framework 拖入 【Embedded Binaries】和 【Linked Frameworks and Libraries】里面,最后重啟 TUIKitDemo 工程,TUIKit 源碼就集成到 TUIKitDemo了。

初始化 TUIKit
通常情況下 TUIKit 的初始化非常簡單,只需調(diào)用下面接口初始化默認配置即可。
NSInteger sdkAppid = 1400173143; //填入自己app的sdkAppid
TUIKitConfig *config = [TUIKitConfig defaultConfig];//默認TUIKit配置,這個您可以根據(jù)自己的需求在 TUIKitConfig 里面自行配置
[[TUIKit sharedInstance] initKit:sdkAppid withConfig:config];
TUIKit 目錄結(jié)構(gòu)說明

| 文件名 | 主要用途 |
|---|---|
| setting | 設(shè)置界面,目前主要用于管理程序的退出邏輯 |
| chat | 聊天界面,主要用于發(fā)送和接收各種自定義消息 |
| commom | 公共基類,主要用于管理公用的基礎(chǔ)模塊 |
| conversation | 消息列表界面,主要用于管理消息的列表邏輯 |
| group | 群組設(shè)置界面,主要用于設(shè)置群資料,加群,退群的邏輯 |
| TUIKit | TUIKit 入口類,主要用于初始化,登錄等 |
| TUIKitConfig | TUIKit 資源配置類,主要用于加載資源圖片,表情包等 |
| voiceConvert | 主要用于音頻文件格式轉(zhuǎn)換 |