跳到主要内容

导入 SDK

您可以使用 CocoaPods 导入或手动导入,将 IMKit SDK 集成到您的应用工程中。您可以选择如下任意一种方式:

  • 使用 CocoaPods 添加远程依赖项,导入 Framework
  • 使用 CocoaPods 添加远程依赖项,导入 IMKit SDK 源码
  • 手动导入 Framework(手动集成不支持导入源码)

环境要求

名称版本
Xcode11 +
iOS9.0 +
CocoaPods1.10.0 +

如需安装 CocoaPods 环境,请参照 安装 CocoaPods。CocoaPods 版本必须为 1.10.0 或更新版本。具体请查看知识库文档:

https://help.rongcloud.cn/t/topic/747

检查版本

在导入 SDK 前,可以前往融云官网 SDK 下载页面确认当前最新版本号。

CocoaPods

CocoaPods 用户可以导入 Framework 或导入 IMKit 源码。

提示

请选用同一种方式导入 IMKit 及其插件,不要混用 Framework 和源码。详见SDK 开源代码说明

导入 Framework

  1. podfile 中添加如下内容:

    pod 'RongCloudIM/IMKit','~> x.y.z'           #IMKit
    pod 'RongCloudIM/Sight','~> x.y.z' #小视频(可选)
    pod 'RongCloudIM/RongSticker','~> x.y.z' #表情(可选)
    pod 'RongCloudIM/ContactCard','~> x.y.z' #名片(可选)
    pod 'RongCloudIM/LocationKit','~> x.y.z' #位置(可选)
    提示
    • x.y.z 代表具体版本,请在融云官网 SDK 下载页面或 CocoaPods 仓库查询最新版本。
    • 5.2.3 及之后的 SDK,不再内置位置插件(LocationKit),您可以根据需要手动集成。5.2.3 之前的 SDK 已内置位置插件,无需手动集成。
  2. 请在终端中运行以下命令:

    pod install
    提示

    如果出现找不到相关版本的问题,可先执行 pod repo update,再执行 pod install

  3. 上一步完成后,CocoaPods 会在您的工程根目录下生成一个 xcworkspace 文件,只需通过 Xcode 打开该文件即可加载工程。

  4. 引用库参考

    #import <RongIMKit/RongIMKit.h>
    #import <RongSight/RongSight.h>
    #import <RongSticker/RongSticker.h>
    #import <RongContactCard/RongContactCard.h>
    #import <RongLocationKit/RongLocationKit.h>

导入源码

IMKit SDK 5.0 及以上版本 UI 相关库开放了源代码,支持在 CocoaPods 中以源码形式进行调试与集成。

  1. podfile 中添加如下内容:

    pod 'RongCloudOpenSource/IMKit','x.y.z'        #IMKit,含会话列表页面,会话页面,输入工具栏
    pod 'RongCloudOpenSource/Sight','x.y.z' #小视频(可选)
    pod 'RongCloudOpenSource/RongSticker','x.y.z' #表情(可选)
    pod 'RongCloudOpenSource/IFly','x.y.z' #语音输入(可选)
    pod 'RongCloudOpenSource/ContactCard','x.y.z' #名片(可选)
    pod 'RongCloudOpenSource/LocationKit','x.y.z' #位置(可选)
    提示
    • x.y.z 代表具体版本,各个 SDK 的最新版本号可能不同,在融云官网 SDK 下载页面或 CocoaPods 仓库能查询到。
    • IFly(语音输入)插件仅支持以源码方式导入。如需使用该插件,请务必以源码方式集成 IMKit SDK。
    • IMKit 5.1.8 之前,名片插件(ContactCard)仅支持以源码方式导入,且要求必须同样以源码方式集成 IMKit SDK。
    • IMKit 5.1.8 及之后,名片插件(ContactCard)支持以源码方式或以 Framework 方式导入。请选用同一种方式导入 IMKit 及其插件,不要混用 Framework 和源码。
  2. 请在终端中运行以下命令:

    pod install
    提示

    如果出现找不到相关版本的问题,可先执行 pod repo update,再执行 pod install

  3. 上一步完成后,CocoaPods 会在您的工程根目录下生成一个 xcworkspace 文件,只需通过 Xcode 打开该文件即可加载工程。

  4. 引用库参考:

    #import <RongCloudOpenSource/RongIMKit.h>
    #import <RongCloudOpenSource/RongSight.h>
    #import <RongCloudOpenSource/RongSticker.h>
    #import <RongCloudOpenSource/RongiFlyKit.h>
    #import <RongCloudOpenSource/RongContactCard.h>
    #import <RongCloudOpenSource/RongLocationKit.h>
提示

对于开发者自定义 UI 的需求,有以下建议:

  1. 不建议直接修改源码内容,防止后续源码升级将修改内容覆盖。
  2. 建议通过继承重写某些类与自身逻辑不一致的方法,来增加新方法以扩展自身的业务逻辑。
  3. 建议使用 SDK 对外暴露的接口,如果调用私有接口可能会出现版本升级引起私有接口变更。

SDK 开源代码说明

  • IMLib(绿色)以 framework 形式存在,属于 RongCloudIM

  • RTCLib 和 CallLib(黄色)以 framework 形式存在,属于 RongCloudRTC

  • IMKit 及其插件与 CallKit(白色)可以源码形式存在,只属于 RongCloudOpenSource

    图中白色部分的 SDK 或插件可能有对应 Framework。但在您的应用工程中,白色部分(IMKit、Sticker、IFly、ContacCard、CallKit)必须同为源码或同为 Framework,否则可能会发生冲突。

手动导入(仅支持 Framework)

手动集成仅支持以 Framework 方式进行集成。不支持以源码方式集成。

  1. 前往融云官网 SDK 下载页面,将 IMKit SDK 下载到本地。

  2. 将下载下来的 SDK 导入您的项目中,所需的 SDK 如下:

    Framework资源文件
    IMLib
    • RongIMLib.xcframework
    • RongIMLibCore.xcframework
    • RongChatRoom.xcframework
    • RongCustomerService.xcframework
    • RongDiscussion.xcframework
    • RongLocation.xcframework
      5.2.5 及之后版本如不使用位置插件 LocationKit,无需导入
    • RongPublicService.xcframework
    • RCConfig.plist
    IMKit
    • RongIMKit.xcframework
    • Emoji.plist
    • RCColor.plist
    • RongCloud.bundle
    • zh-Hans.lproj
    • ar.lproj
    • en.lproj
    LocationKit(可选)
    • RongLocationKit.xcframework
    Translation(可选)
    • RongTranslation.xcframework
    Sticker(可选)
    • RongSticker.xcframework
    • RongSticker.bundle
    • en.lproj
    • zh-Hans.lproj
    • ar.lproj
    Sight(可选)
    • RongSight.xcframework
    提示

    仅 5.2.2 及之后版本的 SDK 支持翻译插件(Translation),该插件暂仅适用于使用新加坡数据中心的应用。

  3. 修改您的项目配置。在 General -> Frameworks,Libraries,and Embedded Binaries 中,将 IMKit SDK 所需的 Framework 全部改为 Embed & Sign

外部链接