实时音视频

  • 实时音视频 > 快速入门 > iOS >开发准备

    开发准备

    最近更新时间: 2023-03-10 10:52:54

    本文主要介绍开发前的准备工作,包括设备、系统及开发环境的要求等。

    设备以及系统要求

    • 设备要求:iPhone 5s 及以上
    • 系统要求:iOS 9.0 及以上

    开发环境

    版本升级需知

    • v5.0.0 版本起,去除 HappyDNS.framework
    • v5.1.0 版本起,开始使用 FFmpeg,版本号为 v4.1

    注意:会与其它同样使用 FFmpeg 的 SDK 产生符号重复。为避免冲突,建议相同的依赖库只保留一份。

    一般 Xcode Build 时,不会提示符号重复。但程序运行时,会出现崩溃。可在 “Build Settings” -> “Other Linker Flags” 下添加 “-all_load” 选项,将使 Xcode Build 时,提示具体是哪个 SDK 存在符号重复。

    导入实时音视频 SDK

    通过 CocoaPods 导入

    CocoaPods 是针对 Swift 和 Objective-C 的依赖管理工具,它能够将使用类似 QNRTCKit-iOS 的第三方库的安装过程变得非常简单和自动化,您能够用下面的命令来安装它:

    $ sudo gem install cocoapods
    

    Podfile

    为了使用 CocoaPods 集成 QNRTCKit-iOS 到您的 Xcode 工程当中,您需要编写您的 Podfile

    target 'TargetName' do
    pod 'QNRTCKit-iOS'
    end
    

    默认为真机版,若需要使用模拟器 + 真机版,则改用如下配置

    pod "QNRTCKit-iOS", :podspec => 'https://raw.githubusercontent.com/pili-engineering/QNRTC-iOS/master/QNRTCKit-iOS-universal.podspec'
    

    注意:鉴于目前上架 App Store 时只支持动态库真机版本,请在 App 上架前更换至真机版本。

    然后,运行如下的命令:

    $ pod install
    

    手动导入

    点击下载相应版本的 SDK,将下载好的动态库文件 QNRTCKit.framework 导入到您的 Xcode 工程当中。

    动态库链接到工程中的方式,如下所示:

    • Step 1:

    右键当前项目文件夹,选择 Add Files to xxx

    • Step 2:
      • 选中 DestinationCopy items if needed
      • 选中 Added foldersCreate groups
      • 选中 Add to targets 中需要引入 SDK 的 Target
      • 找到刚下载好的 QNRTCKit.framework
      • 点击 Add

    • Step 3:

    在项目工程配置 General 中将两个 SDK 的 Embed 设置为 Embed & Sign

    • Step 4:

    在需要使用的类中引入头文件

    #import <QNRTCKit/QNRTCKit.h>
    

    注意:

    1)如果运行后程序 crash,报错信息标识动态库无法找到 image not found,说明 SDK 没有正常 Embed,可以按文档流程重新引入一次。示例中使用的 xcode 版本为 Version 13.1 (13A1030d),其他版本 xcode 的动态库引入方式可能会有差异。

    2)从 v5.1.0 起,请务必在工程配置 “Build Phases” -> “Link Binary With Libraries” 下添加 libbz2.tbd、libiconv.tbd、libz.tbd 系统配置库。

    添加相关权限

    我们需要在 Info.plist 文件中添加相应权限的说明,否则程序在 iOS 10 及以上系统会出现崩溃。需要添加如下权限:

    • 麦克风权限:Privacy - Microphone Usage Description 是否允许 App 使用麦克风
    • 相机权限:Privacy - Camera Usage Description 是否允许 App 使用相机
    以上内容是否对您有帮助?
  • Qvm free helper
    Close