李洪強iOS開發之-環信02_iOS SDK 介紹及導入

李洪強iOS開發之-環信02_iOS SDK 介紹及導入

iOS SDK 介紹及導入


環信 SDK 爲用戶開發 IM 相關的應用提供的一套完善的開發框架。包括如下幾個部分:html

  • SDK_Core: 爲核心的消息同步協議實現,完成與服務器之間的信息交換。
  • SDK: 是基於核心協議實現的完整的 IM 功能,實現了不一樣類型消息的收發、會話管理、羣組、好友、聊天室等功能。
  • EaseUI: 是一組 IM 相關的 UI 控件,旨在幫助開發者快速集成環信 SDK。

用戶能夠基於咱們提供的 Demo 實現本身的應用,也能夠基於 SDK 開發本身應用。android

SDK 採用模塊化設計,每一模塊的功能相對獨立和完善,用戶能夠根據本身的需求選擇使用下面的模塊:ios

  • EMClient: 是 SDK 的入口,主要完成登陸、退出、鏈接管理等功能。也是獲取其餘模塊的入口。
  • EMChatManager: 管理消息的收發,完成會話管理等功能。
  • EMContactManager: 負責好友的添加刪除,黑名單的管理。
  • EMGroupManager: 負責羣組的管理,建立、刪除羣組,管理羣組成員等功能。
  • EMChatroomManager: 負責聊天室的管理。

注意:若是您是從 SDK2.x 升級到 3.0,能夠參考環信 SDK 2.x到3.0升級文檔c++

在您閱讀此文檔時,咱們假定您已經具有了基礎的 iOS 應用開發經驗,並可以理解相關基礎概念。git

下載SDK

經過 Cocoapods 下載地址:github

不包含實時語音版本 SDK(HyphenateSDK),引用時 #import <HyphenateSDK/EMSDK.h>sql

pod 'HyphenateSDK', :git => 'https://github.com/easemob/hyphenate-cocoapods.git'

包含實時語音版本 SDK(HyphenateFullSDK),引用時 #import <HyphenateFullSDK/EMSDKFull.h>api

pod 'HyphenateFullSDK', :git => 'https://github.com/easemob/hyphenate-full-cocoapods.git'

直接下載:xcode

您能夠到環信官網下載環信 SDK。服務器

到此您已經下載好了 SDK,下面開始學習 SDK 的集成使用吧!

注: 因爲 iOS 編譯的特殊性,爲了方便開發者使用,咱們將 i386 x86_64 armv7 armv7s arm64 幾個平臺都合併到了一塊兒,因此 SDK 的靜態庫(.a文件)比較大。實際集成編譯出 ipa 後,根據調用功能的多少,實際只會增長 2MB 左右。

從官網上下載下來的包中分爲以下五部分:

  • 環信 iOS HyphenateSDK 開發使用(不包含實時通話功能)
  • 環信 iOS HyphenateFullSDK 開發使用(包含實時通話功能)
  • 環信 iOS doc SDK 相關API文檔
  • 環信 iOS ChatUIDemo3.0 工程源碼
  • 環信 iOS EaseUI 工程源碼
  • 環信 iOS chatdemo-ui-3.x.x.ipa 打包的 ipa

iOS HyphenateSDK/HyphenateFullSDK 中有兩個子文件夾:include、lib。請不要擅自修改這些文件夾的任何東西,下面依次介紹這兩個子文件夾。

  • lib 靜態庫,包含靜態庫:libHyphenateSDK.a/libHyphenateFullSDK.a(包含實時語音)。
  • lib/3rdparty 靜態庫,包含靜態庫:libcrypto.a,libcurl.a,libssl.a (從SDK中分離出來第三方依賴靜態庫,避免與其它SDK衝突)
  • include 包含 SDK 的頭文件。

主要介紹下 include,全部的接口都在這個文件夾中。

具體接口講解請轉到 Apple Docs

EaseUI 中用到的第三方庫:

  • MWPhotoBrowser: 圖片處理庫,瀏覽顯示
  • MJRefresh: 用於頁面刷新
  • MBProgressHUD: 用於提示加載刷新
  • libopencore-amrnb.a,libopencore-amrwb.a: 用於 amr 與 wav 之間的轉換

Demo 中用到的第三方庫:

  • Parse.framework、Bolts.framework: Demo 中的用戶信息存儲在 Parse,這兩個庫是 Parse 所須要的庫,開發者若是沒用 Parse 存儲,不要複製到本身項目中
  • libMobClickLibrary.a: 友盟相關的庫,用於環信 Demo 基本信息的統計,開發者不用或者已有別的版本的庫不要複製到本身項目
 

導入 SDK

將下載好的 SDK 文件夾(HyphenateSDK)拖入到項目中,並勾選上 Destination。

設置工程屬性

第 1 步:向Build Phases → Link Binary With Libraries 中添加依賴庫。

iOS_AddFramework icon

SDK 依賴庫有:

  • CoreMedia.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • MobileCoreServices.framework
  • ImageIO.framework
  • libc++.dylib
  • libz.dylib
  • libstdc++.6.0.9.dylib
  • libsqlite3.dylib

(若是使用的是 xcode7,後綴爲 tbd。)

SDK 包含實時語音依賴庫有:

  • CoreMedia.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • MobileCoreServices.framework
  • ImageIO.framework
  • libc++.dylib
  • libz.dylib
  • libstdc++.6.0.9.dylib
  • libsqlite3.dylib
  • libiconv.dylib

(若是使用的是 xcode7,後綴爲 tbd。)

第 2 步:SDK 不支持 bitcode,向 Build Settings → Linking → Enable Bitcode 中設置 NO。

以上步驟進行完後,編譯工程。若是沒有報錯,恭喜你,集成 SDK 成功,能夠進行下一步了。

相關文章
相關標籤/搜索