6

按照以下说明,我成功地在 MAC 上构建了 WebRTC:http ://www.webrtc.org/reference/getting-started

有没有人在 iOS 上成功构建它?我了解有人(arik)已在 iOS 上成功构建它:https ://groups.google.com/forum/#!msg/discuss-webrtc/VJg-fk2-i_0/dtG200DOzsgJ但步骤尚不清楚。

有人(在 ios 上构建)可以总结这些步骤,以便将来对每个尝试它的人有用吗?

4

5 回答 5

5

我写了一篇详细的博客文章,其中包含有关如何构建 WebRTC 示例 iOS 应用程序以及如何在 iOS 模拟器或实际 iOS 设备上运行它的所有说明。您可以在这里查看详细信息,这是一个相当漫长的过程。

于 2013-11-16T19:55:11.753 回答
3

是的,为 iOS 编译是一项非常痛苦的任务……尤其是让它在 Xcode 中工作。

这是我为 ios 获取 AppRTC Demo 的尝试

克隆/拉取:https ://github.com/pristineio/webrtc-build-scripts

获取 repo 后,打开 ios 目录中的 xcode 项目。将目标设置为 WebRTC Dance,然后执行。此时,脚本将更新 depot_tools 并完成所有繁琐的工作(拉取、修改、构建),以便 AppRTCDemo 的目标能够解决丢失的文件并执行。

完成后,您可以使用模拟器或真实设备将目标更改为 AppRTC Demo,单击运行,它应该会执行。那里链接的指南中有更详细的信息,自述文件中有更新。

如果您想知道在后台运行了什么,请查看 git repo 的 ios 目录中的 build.sh 文件。当您选择 WebRTC Dance 时,舞蹈功能实际上会为您执行。

描述构建过程并不容易(发生的事情太多了),但是构建脚本 repo 绝对应该为您指明正确的方向并帮助您在 ios 上获得 AppRTCDemo 'just work'

这里还发布了一个谷歌开发者视频,他们尝试分解构建过程,以便您可以为 ios 构建(youtube 标题具有误导性)。

另外,我刚刚添加了对 ios webrtc 的 cocoapods 支持,将其添加到您的 Podfile,

pod "libjingle_peerconnection"


# Add this to the bottom so it won't have issues with active architecture
post_install do |installer_representation|
    installer_representation.project.targets.each do |target|
        target.build_configurations.each do |config|
            config.build_settings['ONLY_ACTIVE_ARCH'] = 'NO'
            config.build_settings['VALID_ARCHS'] = ['armv7', 'i386']
        end
    end
end

并非所有修订都已构建,因此请查看可用修订的 cocoadocs

于 2014-07-18T22:47:11.257 回答
2

过去几个月我一直在这个领域工作——iOS 上的 webrtc 并不容易。为了解决这个问题,我添加了一个 github repo,其中包含一个使用 webrtc 的 iOS 应用程序的工作示例。

https://github.com/gandg/webrtc-ios

该站点也引用了 google 代码站点,因此它应该是一个有用的起点。

于 2014-01-17T20:21:40.037 回答
2

嗯,很久才回复这个帖子。但是,我希望有人可以从中获得更好的直觉。


我一直在处理 iOS 和 Android 平台的 webrtc 编译过程。如果您有效地遵循每个步骤,则此过程非常简单。要为 iOS 编译库,请按照以下给出的命令并确保您使用Mac 终端only-1的相同 ( ) 选项卡进行 WebRTC 本机编译设置,如下所示:

  1. 先决条件
  2. 将 Xcode 与命令行链接
  3. 设置 depot_tools
  4. 获取开发代码
  5. 分公司的选择
  6. 编译库(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 框架所必需的所有依赖项和模块。所以,请始终结帐到branch/headwebrtc 本机堆栈


现在,如果您尝试使用这两个过程来构建 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)

这两个程序都将起作用。


于 2021-05-17T11:27:31.260 回答
1

这似乎构建了一些模块:https ://code.google.com/p/webrtc/issues/detail?id=1421#makechanges

于 2013-03-11T23:15:24.297 回答