【问题标题】:Enabling bitcode for WebRTC iOS为 WebRTC iOS 启用位码
【发布时间】:2020-09-29 00:14:14
【问题描述】:

我在为 webrtc 框架 ios 启用 bitcode 时遇到了问题,并且没有想法。 我按照他们website 的说明进行操作,但运行python build_ios_libs.py --bitcode 时出错 这是错误的一部分

../../stats/rtc_stats.cc:30:17: error: loop variable 'element' is always a copy because the range of type 'const std::vector<bool>' does not return a reference [-Werror,-Wrange-loop-analysis] for (const T& element : vector)

如果有人为 webrtc ios 启用了 bitcode,请帮助我,谢谢

【问题讨论】:

  • 不幸的是,这是 Xcode 和那个特定文件附带的最新 clang 的问题,我们需要等待 google 解决这个问题,或者将 use_xcode_clang=false 附加到构建脚本,但是这意味着我们将使用不支持位码的谷歌特定的 clang 版本,所以这样做没有多大意义。关注这里的评论:stackoverflow.com/questions/47376034/….
  • webRTC 实现起来很复杂。如果您不需要将应用程序放在 App Store 中,您仍然可以使用私有 API WKUIDelegatePrivate,有一些委托可以让您启用 webRTC github.com/wzw19890321/WebKit2/blob/…。我设法在我的 macOS 应用程序中启用了 webRTC
  • @goat_herd 是否存在针对 webrtc 的错误?如果不是,这不太可能得到解决......
  • @PhilippHancke 我不太清楚,我现在的解决方案就是等待
  • 即使没有启用位码,我也会遇到类似的错误。您是否检查过在未启用位码时是否可以构建?

标签: ios swift mobile webrtc


【解决方案1】:

您可以等待或自行修复!

根据这个帖子: What is clang's 'range-loop-analysis' diagnostic about?

从有问题的每一行中删除“&”符号就足够了(对象在该上下文中无论如何都不是引用,这会导致警告终止编译)。比如:

for (const T& element : vector) {

变成:

for (const T element : vector) {

冲洗并重复编译器抱怨的所有文件(只有几个)。

【讨论】:

    【解决方案2】:

    来自项目成员的回答:https://bugs.chromium.org/p/webrtc/issues/detail?id=11729

    "我已经与 Chromium 讨论过这个问题,我们不会登陆我的 CL,因为这是支持 beta 软件的更改。 正确的解决方法是在 Apple 上提交一个错误,要求他们在 xcode 12 中获取https://reviews.llvm.org/D72212(你可以这样做吗?),现在只需将treat_warnings_as_errors=false 添加到您的args.gn 中。"" p>

    【讨论】:

      【解决方案3】:

      为了节省您的时间。例如,如果您正在构建:

      tools_webrtc/ios/build_ios_libs.py --bitcode --arch arm64 x64

      分别在第 30 行和第 40 行编辑这些文件,并删除 for 循环中的 &amp;(和号):

      stats/rtc_stats.cc:30:8:

      sdk/objc/api/peerconnection/RTCStatisticsReport.mm:40:14:

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2021-05-17
        • 2016-05-18
        • 1970-01-01
        • 2016-02-03
        • 1970-01-01
        • 2015-02-01
        • 2015-09-14
        • 1970-01-01
        相关资源
        最近更新 更多