集成IOS 環信SDK


集成IOS SDK


在您閱讀此文檔時,我們假定您已經具備了基礎的 iOS 應用開發經驗,並能夠理解相關基礎概念。

下載SDK

通過Cocoapods下載地址

不包含實時語音版本SDK(EaseMobClientSDKLite),引用時 #import <EaseMobSDK/EaseMob.h>

pod 'EaseMobSDK', :git => 'https://github.com/easemob/sdk-ios-cocoapods.git'

包含實時語音版本SDK(EaseMobClientSDK),引用時 #import <EaseMobSDKFull/EaseMob.h>

pod 'EaseMobSDKFull', :git => 'https://github.com/easemob/sdk-ios-cocoapods-integration.git'

直接下載

您可以到環信官方網站下載環信 SDK。

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

注: 由於iOS編譯的特殊性,為了方便開發者使用,我們將i386 x86_64 armv7 armv7s arm64幾個平台都合並到了一起,所以SDK的靜態庫(.a文件)比較大。實際集成編譯出ipa后,根據調用功能的多少,實際只會增加2MB左右。

SDK目錄講解

1. 從官網上下載下來的包中分為如下四部分:

  • 環信 iOS SDK 開發使用
  • 環信 iOS release note 更新說明
  • 環信 iOS UIDemo 工程源碼
  • 環信 iOS UIDemo.ipa 打包的ipa

2. IOS SDK中有三個子文件夾:include、lib、resources,請不要擅自修改這些文件夾的任何東西,下面依次介紹這三個子文件夾。

  • lib 靜態庫,包含連個靜態庫libEaseMobClientSDK.a和libEaseMobClientSDKLite.a。libEaseMobClientSDKLite.a不包含實時語音功能,libEaseMobClientSDK.a包含所有功能。如果你的app中不需要實時語音功能,刪掉libEaseMobClientSDK.a只使用libEaseMobClientSDKLite.a即可。
  • resources sdk的bundle,包含舊版sdk的數據庫、消息提示音,sdk配置文件。其中sdk配置文件已加密,舊版sdk數據庫幾乎沒什么實質作用。
  • include 包含sdk的頭文件。

3. 主要介紹下include,所有的接口都在這個文件夾中。

  • EaseMobClientSDK/EaseMobClientSDKLite 包含在項目中要引用的總頭文件,即在代碼中只需#import”EMSDKFull.h”或#import”EaseMob.h”即可調用所有對應的api。
  • CallService 包含實時語音相關的接口
  • ChatService 包含聊天相關的接口,比如注冊、登錄、退出、單聊、群聊、群組等
  • Utility 包含DeviceManager和ErrorManager。DeviceManager硬件相關接口,ErrorManager錯誤碼定義

具體接口講解請轉到Apple Docs

注:

  1. include包含5個子文件夾:CallService、ChatService、EaseMobClientSDK、EaseMobClientSDKLite、Utility。如果無需實時語音功能,將CallService和EaseMobClientSDK刪掉即可。
  2. 類似EM@Manager命名格式的文件夾的內部結構都是相似的。delegates文件夾包含各種代理接口,internal文件夾包含各種協議的聲明,types文件夾包含各種實例的聲明。

配置工程

1. 導入SDK

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

2. 設置工程屬性

2.1. 向Build Phases → Link Binary With Libraries 中添加依賴庫

iOS_AddFramework icon

SDK依賴庫有

  • MobileCoreServices.framework
  • CFNetwork.framework
  • libEaseMobClientSDKLite.a
  • libsqlite3.dylib
  • libstdc++.6.0.9.dylib
  • libz.dylib
  • libiconv.dylib
  • libresolv.dylib
  • libxml2.dylib

2.2. 向Build Settings → Linking → Other Linker Flags 中 添加-ObjC(注意大小寫)

iOS_OtherLinker icon

2.3. 如果項目中使用-ObjC有沖突,可以添加-force_load來解決。

格式為: -force_load[空格]EaseMobSDK/lib/libEaseMobClientSDKLite.a(靜態庫的路徑)

  • step1. 先添加一個-force_load

  • step2. 將靜態庫拖動到上一步添加的-force_load下面

  • step3. 最終效果

編譯工程

以上步驟進行完后,編譯工程,如果沒有報錯,恭喜你,集成sdk成功,可以進行下一步了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM