嗯,很久没有回复这个帖子了。但是,我希望有人可以
从中获得更好的直觉。
我一直在处理 iOS 和 Android 平台的 webrtc 编译过程。如果您有效地遵循每个步骤,则此过程非常简单。要为 iOS 编译库,请按照以下给出的命令并确保您使用 Mac 终端 的相同 (only-1) 选项卡进行 WebRTC 原生编译设置,如下所示:
- 先决条件
- 将 Xcode 与命令行链接
- 设置 depot_tools
- 获取开发代码
- 分支选择
- 编译库(iOS 框架)
1。先决条件:
首先,确保您已经安装了以下内容,如果没有,请使用这些命令来执行此操作:
- sudo add-apt-repository ppa:openjdk-r/ppa
- sudo apt-get install openjdk-8-jdk
- sudo apt-get install pkg-config
- sudo apt-get update
如果尚未安装python==2.7,请同时安装。
2。将 Xcode 与命令行链接:
- sudo xcode-select -s /Applications/Xcode.app/Contents/Developer
- sudo xcode-select --switch /Library/Developer/CommandLineTools
3。设置 Depot_tools:
- git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
- export PATH="$PATH:${HOME}/depot_tools"
之后,依次开始以下步骤。根据机器规格和网速,每一步都需要自己的时间,因此请确保每一步都在不中断的情况下完成。
4。获取代码:
- mkdir webrtc_ios
- cd webrtc_ios
- fetch --nohooks webrtc_ios
- gclient sync
5。选择分支头:
- cd src
- ./build/install-build-deps.sh
- git checkout origin/master
- git branch
6。每次编译:
确保您位于webrtc_ios/src/ 目录中,然后只需运行以下命令:
- ./tools_webrtc/ios/build_ios_libs.sh
事实证明,您最终将编译和构建 WebRtc 框架 包含 Webrtc 头文件。您可以简单地将这个框架拖放到您的 Xcode 生产环境中或直接导入它。
当您设置好编译环境后,现在每次对本机堆栈进行更改时,您只需运行此命令 ./tools_webrtc/ios/build_ios_libs.sh 即可生成更新的框架。
如果您最终遇到有关 webrtc 框架编译的问题。请按照以下步骤操作。确保你在这个目录中webrtc_ios/src/:
- git checkout origin/master
# To make sure you're using origin/master
- git branch
- gclient revert
- gclient sync
- ./tools_webrtc/ios/build_ios_libs.sh
希望您的问题能够得到解决。我总是向你们推荐你们可以查看origin/master 后面的一个分支,并且那里没有为 iOS 构建 webrtc 框架所必需的所有依赖项和模块。所以,请始终结帐到 webrtc 原生堆栈的branch/head
现在,如果您尝试使用这两个过程来构建 WebRTC,例如:
1- 使用 Bash 构建工具 (./tools_webrtc/ios/build_ios_libs.sh)
2- 使用手动编译
示例
$ # debug build for 64-bit iOS
$ gn gen out/ios_64 --args='target_os="ios" target_cpu="arm64"'
$ # debug build for simulator
$ gn gen out/ios_sim --args='target_os="ios" target_cpu="x64"'
2.1- 编译 (ninja -C out/Debug)
这两个程序都可以。