跳到主要内容

导入SDK

融云支持使用 CocoaPods 和本地手动导入两种方式,将 CallKit 相关库 导入到您的应用工程中。

检查版本

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

CocoaPods

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

注意

如您需要同时使用 CallKit、IMKit 及其插件,请务必注意,不可混用 Framework 和源码。详见 SDK 开源代码说明

导入 Framework

  1. 在 Podfile 中添加如下内容:

    pod 'RongCloudRTC/RongCallKit', '~> x.y.z'

    x.y.z 代表具体版本,各个 SDK 的最新版本号可能不同,在融云下载页或 CocoaPods 仓库能查询到。

  2. 请在终端中运行以下命令:

    pod install

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

  3. 上一步完成后,会自动导入指定版本的融云 SDK,CocoaPods 会在您的工程根目录下生成一个 .xcworkspace 文件,只需通过 XCode 打开该文件即可加载工程。

导入源码

从 CallKit SDK 5.1.9 开始,支持在 CocoaPods 中以源码形式进行调试与集成。

  1. 在 Podfile 中,按需添加支持源码集成的库:

    pod 'RongCloudRTCOpenSource/RongCallKit','x.x.x'    # RongCallKit
  2. 请在终端中运行以下命令:

    pod install

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

  3. 上一步完成后,会自动导入指定版本的融云 SDK,CocoaPods 会在您的工程根目录下生成一个 .xcworkspace 文件,只需通过 XCode 打开该文件即可加载工程。

  4. 引用库参考:

    #import <RongCallKit.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

在导入 SDK 前,您需要前往融云官网 SDK 下载页面,将音视频通话(无 UI)SDK 下载到本地。

注意

从 5.2.0 版本开始,CallKit/CallLib/RTCLib 必须与其依赖的 IMKit/IMLib SDK 保持版本一致(前三位必须保持一致)。

  1. 导入 RongCallKit.xcframework,并将 Embed 设置为 Embed & Sign
  2. 导入 RongCallLib.xcframework,并将 Embed 设置为 Embed & Sign
  3. 导入 RongRTCLib.xcframework,并将 Embed 设置为 Embed & Sign
  4. 导入 RongIMLib.xcframework,并将 Embed 设置为 Embed & Sign
  5. 导入 RongIMKit.xcframework,并将 Embed 设置为 Embed & Sign
  6. 导入 RongIMLibCore.xcframework,并将 Embed 设置为 Embed & Sign

工程配置

  1. 音视频通话需要用到摄像头和麦克风权限,请在工程的 info.plist 中添加如下键值:
    • Privacy - Microphone Usage Description
    • Privacy - Camera Usage Description
  2. 请将工程中 Target -> Signing & Capabilities -> Background Modes 如下内容勾选:
    • Audio, AirPlay, and Picture in Picture
    • Remote notifications

注意

SDK 5.1.1 及之前的版本,音视频通话中需要用到 HTTP 请求,请在工程的 info.plist 中添加如下键值:App Transport Security Settings。在此键值下请再添加 Allow Arbitrary Loads 并将 Value 设置为 YES