zoukankan      html  css  js  c++  java
  • 李洪强iOS开发之-环信02_iOS SDK 介绍及导入

    李洪强iOS开发之-环信02_iOS SDK 介绍及导入

    iOS SDK 介绍及导入


    环信 SDK 为用户开发 IM 相关的应用提供的一套完善的开发框架。包括以下几个部分:

    • SDK_Core: 为核心的消息同步协议实现,完成与服务器之间的信息交换。
    • SDK: 是基于核心协议实现的完整的 IM 功能,实现了不同类型消息的收发、会话管理、群组、好友、聊天室等功能。
    • EaseUI: 是一组 IM 相关的 UI 控件,旨在帮助开发者快速集成环信 SDK。

    用户可以基于我们提供的 Demo 实现自己的应用,也可以基于 SDK 开发自己应用。

    SDK 采用模块化设计,每一模块的功能相对独立和完善,用户可以根据自己的需求选择使用下面的模块:

    • EMClient: 是 SDK 的入口,主要完成登录、退出、连接管理等功能。也是获取其他模块的入口。
    • EMChatManager: 管理消息的收发,完成会话管理等功能。
    • EMContactManager: 负责好友的添加删除,黑名单的管理。
    • EMGroupManager: 负责群组的管理,创建、删除群组,管理群组成员等功能。
    • EMChatroomManager: 负责聊天室的管理。

    注意:如果您是从 SDK2.x 升级到 3.0,可以参考环信 SDK 2.x到3.0升级文档

    在您阅读此文档时,我们假定您已经具备了基础的 iOS 应用开发经验,并能够理解相关基础概念。

    下载SDK

    通过 Cocoapods 下载地址:

    不包含实时语音版本 SDK(HyphenateSDK),引用时 #import <HyphenateSDK/EMSDK.h>

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

    包含实时语音版本 SDK(HyphenateFullSDK),引用时 #import <HyphenateFullSDK/EMSDKFull.h>

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

    直接下载:

    您可以到环信官网下载环信 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 成功,可以进行下一步了。

  • 相关阅读:
    bzoj 1030 [JSOI2007]文本生成器
    Swift 学习笔记 (闭包)
    Swift 学习笔记 (函数)
    HTML 学习笔记 JQueryUI(Interactions,Widgets)
    HTML 学习笔记 JQuery(表单,表格 操作)
    HTML 学习笔记 JQuery(animation)
    HTML 学习笔记 JQuery(盒子操作)
    HTML 学习笔记 JQuery(事件)
    HTML 学习笔记 JQuery(DOM 操作3)
    HTML 学习笔记 JQuery(DOM 操作2)
  • 原文地址:https://www.cnblogs.com/LiLihongqiang/p/5729483.html
Copyright © 2011-2022 走看看