音视频通话 2.0
macOS
新手接入指南
产品简介
产品介绍
功能特性
产品优势
应用场景
使用限制
基本概念
产品计费
按量计费
资源包
更新日志
体验 Demo
下载 SDK 和 示例代码
快速开始
接入流程
创建应用
开通服务
快速跑通 Sample Code
集成 SDK
实现音视频通话
Token 鉴权
高级 Token 鉴权
基础功能
设置音频属性
设置视频属性
设置通话音量
屏幕共享
音频共享
通话前网络质量探测
监测发言者音量
通话中质量监测
进阶功能
音频管理
客户端音频录制
原始音频数据
美声变声与混响
耳返
自定义音频采集与渲染
音效与伴音
设置音频订阅优先级
音频裸流传输
媒体补充增强信息
视频管理
视频截图
水印
云信美颜
相芯美颜
虚拟背景
自定义视频采集
视频裸流传输
加入多房间
媒体流管理
视频流回退
媒体流加密
跨房间媒体流转发
云端录制
使用云代理
AI 融合功能
AI 降噪
AI 超分
AI 虚拟背景
最佳实践
音视频参数配置推荐
房间连接状态管理
实现音视频安全检测
API 参考
macOS API 参考
服务端 API
错误码
控制台指南
常见问题处理
FAQ
错题集
获取音频 Dump 文件
音频常见问题排查
视频常见问题排查
服务协议

集成 SDK

更新时间: 2023/01/10 14:34:27

本文为您介绍 macOS 端集成 SDK 的操作步骤,帮助您快速集成 SDK,开始使用音视频通话的基本功能。

开发环境要求

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

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

SDK 目录

文件/文件夹名称 是否必选 说明
NEFundation_Mac.framework 音视频通话基础模块。
nertc_sdk_Mac.framework
NERtcnn.framework 机器学习(自 V4.6.20 起提供)。
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 设备暂不支持此功能。)。

步骤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}'
    
    参数 说明
    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']
    
    //集成 SDK 且使用部分插件,以美颜为例
    # platform :macos, '10.11' ' 
    target '{YourApp}' do
    
    
        pod 'NERtcSDK-MacOS', '~> {version}', :subspecs => ['RtcBasic', 'Beauty', 'FaceDetect']
    

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

    功能/插件 subspecs 的值 对应的framework 动态库
    音视频 RtcBasic 必选基础库
    • NERtcSDK.framework
    • NMCBasicModuleFramework.framework
    • NERtcnn.framework
    美颜 Beauty 美颜库: NERtcBeauty.framework
    FaceDetect 人脸检测库: NERtcFaceDetect.framework
    虚拟背景 Segment 虚拟背景库:NERtcPersonSegment.framework
    AI 降噪 AI 降噪库:NERtcAiDenoise.framework AiDenoise
    AI 啸叫检测 AI 啸叫检测库:NERtcAiHowling.framework AiHowling
    方式二:在 Podspec 中引入 NERtcSDK

    编辑 Podspec 文件。

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

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

    //集成 SDK 但不使用任何插件
    Pod::Spec.new do |{YourSpec}|
        {YourSpec}.dependency "NERtcSDK/RtcBasic",  "~> {version}"
    
    //集成 SDK 且使用部分插件,以美颜为例
    Pod::Spec.new do |{YourSpec}|
        {YourSpec}.dependency "NERtcSDK/RtcBasic",  "~> {version}"
        {YourSpec}.dependency "NERtcSDK/Beauty",  "~> {version}"
        {YourSpec}.dependency "NERtcSDK/FaceDetect",  "~> {version}"
    

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

    功能/插件 subspecs 的值 对应的framework 动态库
    音视频 RtcBasic 必选基础库
    • NERtcSDK.framework
    • NMCBasicModuleFramework.framework
    • NERtcnn.framework
    美颜 Beauty 美颜库: NERtcBeauty.framework
    FaceDetect 人脸检测库: NERtcFaceDetect.framework
    虚拟背景 Segment 虚拟背景库:NERtcPersonSegment.framework
    AI 降噪 AI 降噪库:NERtcAiDenoise.framework AiDenoise
    AI 啸叫检测 AI 啸叫检测库:NERtcAiHowling.framework AiHowling
  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 动态库
    音视频
    • NERtcSDK.framework
    • NMCBasicModuleFramework.framework
    • NERtcnn.framework
    音视频 + 美颜
    • NERtcBeauty.framework
    • NERtcFaceDetect.framework
    • NERtcSDK.framework
    • NMCBasicModuleFramework.framework
    • NERtcnn.framework
    音视频 + 虚拟背景
    • NERtcPersonSegment.framework
    • NERtcSDK.framework
    • NMCBasicModuleFramework.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

  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 设置签名并添加媒体设备权限
  • 后续步骤