跳到主要内容

导入 SDK

您可以选择如下任意一种方式:

  • 使用 CocoaPods 添加远程依赖项,导入 Framework
  • 手动导入 Framework

环境要求

  • Xcode 需要使用 Xcode 11 及以上的版本。
  • 苹果设备的系统需要使用 iOS 9.0 及以上的版本。
  • 如果您打算通过 CocoaPods 集成 SDK,需要使用 CocoaPods 1.10.0 及以上的版本。这是因为 CallKit SDK 5.1.1 版本后变更为 XCFramework,而 CocoaPods 是从 1.10.0 版本后才完整支持 XCFramework 的集成方式,具体请参见知识库文档
提示

如需安装 CocoaPods 环境,请参照 安装 CocoaPods

检查版本

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

CocoaPods

导入 framework

  1. 如果您的项目中没有 Podfile 文件,您需要打开终端并进入到项目的根目录,在终端中运行 pod init 命令,之后系统会自动创建一个默认的 Podfile 文件,在项目中的 Podfile 文件中添加如下内容:

    ruby
    pod 'RongCloudRTC/RongCallKit', '~> x.y.z'
    提示
    • CallKit 会自动依赖下载对应版本的 IMKit 库,一般不需要手动指定。注意,从 5.2.0 版本至 5.4.4(不含),CallKit 必须与其依赖的 IMKit SDK 保持版本一致(前三位必须保持一致)。从 5.4.4 开始,CallKit 与其依赖的 IMKit SDK 版本号前两位保持一致。CallKit 5.4.4 不可匹配小于 5.4.4 的 IMKit SDK。
    • x.y.z 代表 CallKit 具体的版本号,您可以在融云官网 SDK 下载页面或在终端中通过先执行 pod repo update,再执行 pod search RongCloudRTC 命令在 CocoaPods 仓库查询 CallKit 最新的版本。
  2. 打开终端并进入到 Podfile 文件所在的目录,在终端中运行以下命令:

    shell
    pod install
    提示

    如果终端中出现类似 CocoaPods could not find compatible versions for 等找不到相关版本的报错,可先在终端中执行 pod repo update 命令,再执行 pod install 命令。

  3. 通过 Xcode 打开项目目录下的 xcworkspace 文件加载工程。

导入源码

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

  1. 如果您的项目中没有 Podfile 文件,您需要打开终端并进入到项目的根目录,在终端中运行 pod init 命令,之后系统会自动创建一个默认的 Podfile 文件,在项目中的 Podfile 文件中添加如下内容:

    shell
    pod 'RongCloudRTCOpenSource/RongCallKit','x.x.x'    # RongCallKit
  2. 打开终端并进入到 Podfile 文件所在的目录,在终端中运行以下命令:

    ruby
    pod install
    提示

    如果终端中出现类似 CocoaPods could not find compatible versions for 等找不到相关版本的报错,可先在终端中执行 pod repo update 命令,再执行 pod install 命令。

  3. 通过 Xcode 打开项目目录下的 xcworkspace 文件加载工程。

  4. 引用库参考:

    Objective C
    #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,否则可能会发生冲突。

手动集成

  1. 您可以前往融云官网 SDK 下载页面,将音视频通话(有 UI)SDK 下载到本地。

  2. 使用 Xcode 打开您的工程,然后将下载下来的 SDK 手动拖入到您的项目中,所需的 SDK 如下:

    Framework
    • RongCallKit.xcframework
    • RongCallLib.xcframework
    • RongRTCLib.xcframework
    • RongIMLib.xcframework
    • RongIMKit.xcframework
    • RongIMLibCore.xcframework
    提示

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

  3. 修改您的项目配置。在 GeneralFrameworks, Libraries, and Embedded Binaries 中,将手动导入的 CallKit SDK 所有的 Framework 全部改为 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

导入头文件

在需要使用的业务层导入 CallKit 头文件,即可使用 SDK 的方法来实现呼叫相关业务,示例如下:

Objective C
#import <RongCallKit/RongCallKit.h>