跳到主要内容

导入 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. 修改您的项目配置。在 General → Frameworks, 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>