A community-driven distribution of up to date WebRTC framework binaries for iOS and macOS
WebRTC Binaries for iOS and macOS
本仓库提供由社区驱动的 iOS 和 macOS WebRTC 框架二进制文件分发。
自 M80 版本起,Google 已弃用其移动二进制库分发(此前官方使用 GoogleWebRTC pod)。若需获取最新的 WebRTC 库,您可以自行编译,或使用本仓库及其他来源提供的预编译二进制文件。
📦 发布版本
二进制发布版本与 Chromium 仪表板中指定的官方 Chromium 发布版本和分支相对应。
💡 注意事项
- 本仓库中的所有二进制文件均基于官方 WebRTC 源代码 编译而成。
- 未对源代码或输出二进制文件进行任何修改。
- 构建过程通过 GitHub Actions 开源。
- 动态框架(xcframework 格式),包含适用于 macOS 和 iOS 的多个二进制文件。
- 自 Xcode 14 起,bitcode 已被弃用。M103 及更高版本不包含 bitcode。
- 增加了对额外编码格式的支持:VP9、H264、H265 (HEVC)
📢 系统要求
- iOS 12+
- macOS 10.11+
- macOS Catalyst 11.0+
📀 包含的二进制文件
| 平台 / 架构 | arm64 | x86_x64 |
|---|---|---|
| iOS (设备) | ✅ | N/A |
| iOS (模拟器) | ✅ | ✅ |
| macOS | ✅ | ✅ |
| macOS Catalyst | ✅ | ✅ |
需要 32 位二进制文件?请使用 Version M94 或更低版本
🚚 安装
Swift 包管理器
Xcode 内置支持 Swift 包管理器。您可以通过选择“文件 > Swift 包 > 添加包依赖项”轻松添加该包。在 Apple 文档 中了解更多信息。
或者,您可以将以下依赖项添加到您的 Package.swift 文件中:
dependencies: [
.package(url: "https://github.com/stasel/WebRTC.git", .upToNextMajor("149.0.0"))
]
使用 latest 分支获取最新的二进制文件:
dependencies: [
.package(url: "https://github.com/stasel/WebRTC.git", branch: "latest")
]
Cocoapods
在您的 Podfile 中添加以下行:
pod 'WebRTC-lib'
然后运行
pod install
了解更多关于 Cocoapods 的信息:https://cocoapods.org
Carthage
在项目的 Cartfile 中添加以下依赖:
binary "https://raw.githubusercontent.com/stasel/WebRTC/latest/WebRTC.json"
然后使用以下命令更新依赖项:
carthage update --use-xcframeworks
最后,将位于 ./Carthage/Build/WebRTC.xcframework 的 xcframework 添加到目标的嵌入式框架中。
了解更多关于 Carthage 的信息:https://github.com/Carthage/Carthage
手动方式
- 从 releases 部分下载框架。
- 解压缩文件。
- 将 xcframework 添加到目标的嵌入式框架中。
👷 使用方法
要在代码中导入 WebRTC,请添加以下导入语句
import WebRTC
如果你想了解如何使用 WebRTC,我强烈建议你查看我的 WebRTC iOS 演示应用:https://github.com/stasel/WebRTC-iOS
🛠 编译你自己的 WebRTC 框架
如果你希望编译自己的 WebRTC 二进制框架,请参考以下官方指南: https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/ios/README.md
你也可以查看我创建的 构建脚本 以获取更多详细信息。
📃 许可证
- BSD 3-Clause 许可证
- WebRTC 许可证:https://webrtc.org/support/license