集成SDK

更新时间: 2023/05/05 12:23:30

本文为您介绍 macOS 端集成 SDK 的操作步骤,帮助您快速集成 SDK,开始使用互动直播的基本功能。

开发环境要求

在开始运行工程之前,请您准备以下开发环境:

  • Xcode 11 及以上版本。
  • mac OS X 10.11 或以上版本的 Mac 设备。
  • 项目已配置有效的开发者签名。

SDK 目录

文件/文件夹名称 是否必选 说明
nertc_sdk_Mac.framework 互动直播基础模块。
NEFundation_Mac.framework 是(自 V5.3.0 起:否) V5.3.0 及之后版本去掉了该库文件。
NERtcnn.framework
  • V4.6.20 ~V4.6.X:是
  • V5.3.0 及之后版本:否
机器学习(自 V4.6.20 起提供)。
  • V4.6.20 ~V4.6.X 版本:该动态库必选。
  • V5.3.0 及之后版本,只有集成美颜、虚拟背景、音频 AI 降噪、音频啸叫检测、人脸增强插件时,才需要集成该库文件。基础音视频不需要集成该库文件。
NERtcBeauty.framework 美颜插件(自 V4.6.20 起提供)。
NERtcFaceDetect.framework 人脸检测插件(自 V4.6.20 起提供,使用美颜时还需要该插件)。
NERtcPersonSegment.framework 虚拟背景插件(自 V4.6.20 起提供,M1 芯片的 Mac 设备暂不支持此功能。)。
NERtcAiDenoise.framework AI 降噪插件(自 V4.6.40 起提供)。
NERtcAiHowling.framework AI 啸叫检测插件(自 V4.6.40 起提供,M1 芯片的 Mac 设备暂不支持此功能。)。
NERtcFaceEnhance.framework 人脸增强插件(自 V5.3.0 起提供)。
NERtcVideoDenoise.framework 视频降噪插件(自 V5.3.0 起提供)。
NERtcSuperResolution.framework 视频 AI 超分插件(自 V5.3.0 起提供)。
NERtcScreenShareEnhance.framework 屏幕增强插件(自 V5.3.0 起提供)。

步骤1 集成 SDK

方式一:使用 CocoaPods 自动集成

  • V4.4.1 ~ V4.6.13 版本的 NERTC SDK,暂不支持 CocoaPods 集成,建议使用方式二:手动集成
  • 请确保您的 Mac 已经安装 Ruby 环境。
  1. 创建项目。

    您可以参考此步骤创建新项目。如果您需要集成到已有的项目,请忽略该步骤。

    在 XCode 里,依次选择 Create a New XCode Project > Single View App > Next 新建工程,再配置工程相关信息和合适的工程本地路径,单击 Create

    image image
  2. 安装 CocoaPods。

    在终端窗口中输入如下命令:

    sudo gem install cocoapods
    
  3. 创建 Podfile 文件。

    从 Terminal 中进入您所创建项目所在路径,运行以下命令创建 Podfile 文件。

    pod init
    
  4. 您可以按需选择直接使用 Podfile 集成 NERtcSDK,或在您的项目组件的 Podspec 中引入 NERtcSDK。

    方式一:使用 Podfile 集成

    编辑 Podfile 文件。

    # platform :macos, '10.11' 
    target '{YourApp}' do
        pod 'NERtcSDK-MacOS', '~> {version}'
    end
    
    参数 说明
    YourApp 您的 Target 名称。
    version 待集成的 NERTC SDK 版本号。
    建议使用最新版本,请从 SDK 下载中心查看 NERTC SDK 最新版本的版本号。
    若要使用其他版本,请联系网易云信技术支持推荐合适的版本。

    V4.6.20 及之后版本支持插件化的方式按需集成动态库,请参考以下代码实现:

    //集成 SDK 但不使用任何插件
    # platform :macos, '10.11' 
    target '{YourApp}' do
        pod 'NERtcSDK-MacOS', '~> {version}', :subspecs => ['RtcBasic']
    end
    
    //V4.6.20~V4.6.X版本,集成 SDK 且使用部分插件,以美颜为例
    # platform :macos, '10.11' ' 
    target '{YourApp}' do
        pod 'NERtcSDK-MacOS', '~> {version}', :subspecs => ['RtcBasic', 'Beauty', 'FaceDetect']
    end
    
    //V5.3.0及以上版本,集成 SDK 且使用部分插件,以美颜为例
    # platform :macos, '10.11' ' 
    target '{YourApp}' do
        pod 'NERtcSDK-MacOS', '~> {version}', :subspecs => ['RtcBasic', 'Nenn', 'Beauty', 'FaceDetect']
    end
    

    subspecs 中请填入待引入的动态库对应的值,具体说明如下表所示。

    功能/插件 subspecs 的值 对应的framework 动态库
    音视频 RtcBasic 必选基础库
    • nertc_sdk_Mac.framework
    • NEFundation_Mac.framework:V5.3.0 及之后版本去掉了该库文件。
    • NERtcnn.framework
      • V4.6.20 ~V4.6.X 版本:该动态库必选。
      • V5.3.0 及之后版本,只有集成美颜、虚拟背景、音频 AI 降噪、音频啸叫检测、人脸增强插件时,才需要集成该库文件。基础音视频不需要集成该库文件。
    神经网络 Nenn 神经网络库:NERtcnn.framework V5.3.0 及之后版本,集成美颜、虚拟背景、音频 AI 降噪、音频啸叫检测、人脸增强插件时,需要集成该库文件。基础音视频不需要集成该库文件。
    美颜 Beauty 美颜库: NERtcBeauty.framework
    FaceDetect 人脸检测库: NERtcFaceDetect.framework
    虚拟背景 Segment 虚拟背景库:NERtcPersonSegment.framework
    AI 降噪 AiDenoise AI 降噪库:NERtcAiDenoise.framework
    AI 啸叫检测 AiHowling AI 啸叫检测库:NERtcAiHowling.framework
    人脸增强 FaceEnhance 人脸增强库:NERtcFaceEnhance.framework
    视频降噪 VideoDenoise 视频降噪库:NERtcVideoDenoise.framework
    视频 AI 超分 SuperResolution 视频 AI 超分库:NERtcSuperResolution.framework
    屏幕增强 ScreenShareEnhance 屏幕增强库:NERtcScreenShareEnhance.framework
    方式二:在 Podspec 中引入 NERtcSDK

    编辑 Podspec 文件。

    Pod::Spec.new do |{YourSpec}|
        {YourSpec}.dependency "NERtcSDK-MacOS",  "~> {version}"
    end
    
    参数 说明
    YourSpec 您的 Target 名称。
    version 待集成的 NERTC SDK 版本号。
    建议使用最新版本,请从 SDK 下载中心查看 NERTC SDK 最新版本的版本号。
    若要使用其他版本,请联系网易云信技术支持推荐合适的版本。

    V4.6.20 及之后版本支持插件化的方式按需集成动态库,请参考以下代码实现:

    //集成 SDK 但不使用任何插件
    Pod::Spec.new do |{YourSpec}|
        {YourSpec}.dependency "NERtcSDK-MacOS/RtcBasic",  "~> {version}"
    end
    
    //V4.6.20~V4.6.X版本,集成 SDK 且使用部分插件,以美颜为例
    Pod::Spec.new do |{YourSpec}|
        {YourSpec}.dependency "NERtcSDK-MacOS/RtcBasic",  "~> {version}"
        {YourSpec}.dependency "NERtcSDK-MacOS/Beauty",  "~> {version}"
        {YourSpec}.dependency "NERtcSDK-MacOS/FaceDetect",  "~> {version}"
    end
    
    //V5.3.0 及以上版本,集成 SDK 且使用部分插件,以美颜为例
    Pod::Spec.new do |{YourSpec}|
        {YourSpec}.dependency "NERtcSDK-MacOS/RtcBasic",  "~> {version}"
        {YourSpec}.dependency "NERtcSDK-MacOS/Nenn",  "~> {version}"
        {YourSpec}.dependency "NERtcSDK-MacOS/Beauty",  "~> {version}"
        {YourSpec}.dependency "NERtcSDK-MacOS/FaceDetect",  "~> {version}"
    end
    

    subspecs 中请填入待引入的动态库对应的值,具体说明如下表所示。

    功能/插件 subspecs 的值 对应的framework 动态库
    音视频 RtcBasic 必选基础库
    • nertc_sdk_Mac.framework
    • NEFundation_Mac.framework:V5.3.0 及之后版本去掉了该库文件。
    • NERtcnn.framework
      • V4.6.20 ~V4.6.X 版本:该动态库必选。
      • V5.3.0 及之后版本,只有集成美颜、虚拟背景、音频 AI 降噪、音频啸叫检测、人脸增强插件时,才需要集成该库文件。基础音视频不需要集成该库文件。
    神经网络 Nenn 神经网络库:NERtcnn.framework V5.3.0 及之后版本,集成美颜、虚拟背景、音频 AI 降噪、音频啸叫检测、人脸增强插件时,需要集成该库文件。基础音视频不需要集成该库文件。
    美颜 Beauty 美颜库: NERtcBeauty.framework
    FaceDetect 人脸检测库: NERtcFaceDetect.framework
    虚拟背景 Segment 虚拟背景库:NERtcPersonSegment.framework
    AI 降噪 AiDenoise AI 降噪库:NERtcAiDenoise.framework
    AI 啸叫检测 AiHowling AI 啸叫检测库:NERtcAiHowling.framework
    人脸增强 FaceEnhance 人脸增强库:NERtcFaceEnhance.framework
    视频降噪 VideoDenoise 视频降噪库:NERtcVideoDenoise.framework
    视频 AI 超分 SuperResolution 视频 AI 超分库:NERtcSuperResolution.framework
    屏幕增强 ScreenShareEnhance 屏幕增强库:NERtcScreenShareEnhance.framework
  5. 执行以下命令查询本地库版本。

    pod search NERtcSDK-MacOS        
    
  6. 执行以下命令更新本地库版本。

    pod repo update
    
  7. 执行以下命令安装 SDK。

    pod install        
    

至此, NERTC SDK 已经导入完成。

方式二:手动集成

  1. 前往网易云信 SDK 下载中心获取当前最新版本 SDK,或联系网易云信技术支持获取对应版本的 SDK 安装包。

  2. 解压 SDK 安装包,根据您需要集成的能力,选择对应的 XX.framework 文件加入到工程路径下,具体如下表所示。

    功能/插件 framework 动态库
    所有能力 所有 framework 动态库
    音视频
    • nertc_sdk_Mac.framework
    • NEFundation_Mac.framework:V5.3.0 及之后版本去掉了该库文件。
    • NERtcnn.framework
      • V4.6.20 ~V4.6.X 版本:该动态库必选。
      • V5.3.0 及之后版本,只有集成美颜、虚拟背景、音频 AI 降噪、音频啸叫检测、人脸增强插件时,才需要集成该库文件。基础音视频不需要集成该库文件。
    美颜
    • 美颜库:NERtcBeauty.framework
    • 人脸检测库:NERtcFaceDetect.framework
    • 机器学习库:NERtcnn.framework
    虚拟背景
    • 虚拟背景库:NERtcPersonSegment.framework
    • 机器学习库:NERtcnn.framework
    AI 降噪
    • AI 降噪库:NERtcAiDenoise.framework
    • 机器学习库:NERtcnn.framework
    AI 啸叫检测
    • AI 啸叫检测库:NERtcAiHowling.framework
    • 机器学习库:NERtcnn.framework
    人脸增强
    • 人脸增强库:NERtcFaceEnhance.framework
    • 机器学习库:NERtcnn.framework
    视频降噪 视频降噪库:NERtcVideoDenoise.framework
    视频 AI 超分 视频 AI 超分库:NERtcSuperResolution.framework
    屏幕增强
    • 屏幕增强库:NERtcScreenShareEnhance.framework
    • 机器学习库:NERtcnn.framework
    • V4.6.20 及之后版本支持插件化方式按需引入动态库。
    • 若您集成的 NERTC SDK 为 V4.6.20 之前的版本,请直接将解压之后的 NEFundation_Mac.frameworknertc_sdk_Mac.framework 文件加入到工程路径下。
  3. 打开 Xcode ,在左侧导航栏中选择目标Target,单击 Build Phases页签,在 Link Binary with Libraries 区域,单击 + 添加相应的 framework 动态库,待添加的动态库如上表所示。

    添加动态库.png

    不同版本的动态库有差异,请以实际为准,具体请参见SDK 目录

  4. Embed 属性设置为 Embed & Sign,保证 SDK 动态库和应用签名保持一致。

    添加动态库结果.png

步骤2 设置签名并添加媒体设备权限

  1. 使用 SDK 提供的音视频功能,需要给 App 授权麦克风、摄像头和 Wi-Fi 的使用权限。

    info.plist 中添加以下三项:

    • Privacy - Microphone Usage Description,并填入麦克风使用目的提示语。
    • Privacy - Camera Usage Description,并填入摄像头使用目的提示语。
    • Application uses Wi-Fi,设置为 YES

    授权.png

  2. 设置签名。

    1. 在 Xcode 中,依次选择 TARGETS > Project Name,单击 Signing & Capabilities页签,勾选 Automatically manage signing

    Xcode_Signing.png

    1. Team 中选择您的开发团队。
  3. 如果 App 启用了 App SandboxHardened Runtime,请在 Signing & Capabilities 页面的 App SandboxHardened Runtime 区域,选择 NetworkCameraAudio Input 这几个选项。

    AppSandbox.png

    ResourceAccess.png

后续步骤

实现互动直播

此文档是否对你有帮助?
有帮助
去反馈
  • 开发环境要求
  • SDK 目录
  • 步骤1 集成 SDK
  • 方式一:使用 CocoaPods 自动集成
  • 方式二:手动集成
  • 步骤2 设置签名并添加媒体设备权限
  • 后续步骤