开发准备
本文主要介绍开发前的准备工作,包括设备、系统及开发环境的要求等。
设备以及系统要求
- 设备要求:iPhone 5s 及以上
- 系统要求:iOS 9.0 及以上
开发环境
- Xcode 开发工具。App Store下载地址
- 安装 CocoaPods。了解 CocoaPods 使用方法
版本升级需知
- 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:
- 选中
Destination
的Copy items if needed
- 选中
Added folders
的Create 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 使用相机