Awesome
WebRTC Binaries for iOS and macOS
This repository contains unofficial distribution of WebRTC framework binaries for iOS and macOS.
Since version M80, Google has deprecated their mobile binary libraries distributions (Was officially using the GoogleWebRTC pod). To get the most up to date WebRTC library, you can compile it on your own, or you can use precompiled binaries from here or other sources.
📦 Releases
The binary releases correspond with official Chromium releases and branches as specified in the Chromium dashboard.
💡 Things to know
- All binaries in this repository are compiled from the official WebRTC source code without any modifications to the source code or to the output binaries.
- Dynamic framework (xcframework format) which contains multiple binaries for macOS and iOS.
- Since Xcode 14, bitcode is deprecated. Version M103 and above does not include bitcode.
📢 Requirements
- iOS 12+
- macOS 10.11+
- macOS Catalyst 11.0+
📀 Binaries included
Platform / arch | arm64 | x86_x64 |
---|---|---|
iOS (device) | ✅ | N/A |
iOS (simulator) | ✅ | ✅ |
macOS | ✅ | ✅ |
macOS Catalyst | ✅ | ✅ |
Looking for 32 bit binaries? Please use Version M94 or lower
🚚 Installation
Swift package manager
Xcode has a built-in support for Swift package manager. You can easily add the package by selecting File > Swift Packages > Add Package Dependency. Read more in Apple documentation.
Or, you can add the following dependency to your Package.swift
file:
dependencies: [
.package(url: "https://github.com/stasel/WebRTC.git", .upToNextMajor("130.0.0"))
]
Use the latest
branch to get the most up to date binary:
dependencies: [
.package(url: "https://github.com/stasel/WebRTC.git", branch: "latest")
]
Cocoapods
Add the following line to your Podfile
:
pod 'WebRTC-lib'
And then run
pod install
Read more about Cocoapods: https://cocoapods.org
Carthage
Requires Carthage version 0.38 or higher
Add the following dependency to the Cartfile
in your project:
binary "https://raw.githubusercontent.com/stasel/WebRTC/latest/WebRTC.json"
Then update the dependencies using the following command:
carthage update --use-xcframeworks
And finally, add the xcframework located in ./Carthage/Build/WebRTC.xcframework
to your target(s) embedded frameworks.
Read more about Carthage: https://github.com/Carthage/Carthage
Manual
- Download the framework from the releases section.
- Unzip the file.
- Add the xcframework to your target(s) embedded frameworks.
👷 Usage
To import WebRTC to your code add the following import statement
import WebRTC
If you wish to see how to use WebRTC I highly recommend checking out my WebRTC demo iOS app: https://github.com/stasel/WebRTC-iOS
🛠Compile your own WebRTC Frameworks
If you wish to compile your own WebRTC binary framework, please refer to the following official guide: https://webrtc.googlesource.com/src/+/refs/heads/main/docs/native-code/ios/README.md
You can also take a look at the build script I created for more details.
📃 License
- BSD 3-Clause License
- WebRTC License: https://webrtc.org/support/license